-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pangraph is not on Hackage! #7
Comments
Oh, wow, this is unexpected :-) The library is in a very draft state at the moment -- I'm not sure it's ready to be used by others. We do use in our graph analysis project though and so far it was fit for our purpose. @deepfire How do you intend to use it? I presume, to parse GraphML files, as I don't think @thisiswhereitype Do you plan to release the library on Hackage soon? If yes, we could discuss a release plan here. As a starting point, I'd advise to switch to an existing XML parser to ease future maintenance. (The current implementation was more of a Haskell-learning exercise!) |
@snowleopard, GraphML parsing, indeed. Although at the moment I'm discovering that things aren't quite that simple in the GraphML land.. lack of a true standard being one problem. |
@deepfire Yes, GraphML is a bit messy. Fortunately, in our project we only need to extract nodes and edges without any labels such as weight, etc. What are your requirements? |
@snowleopard, ideally, I'd love to be able to use some generic, widely accepted graph format for knowledge representation -- but initially, "just" reading and writing yEd files would be exactly enough. |
I see. Could you link to a precise definition of the yEd file format? |
Thanks! That looks like quite a lot of stuff... The idea behind @deepfire What do you think? |
@snowleopard, personally, the interesting parts (outside the overlap you mention) are:
Also, if I understand it correctly, the minimal transferable connectivity data is available as generic GraphML tags -- no yEd-specific nodes need to be descended into. |
@deepfire Thanks! This sounds reasonable. Coordinates are useful for many graph representations, and so are node labels. Let's wait for a response from @thisiswhereitype. I believe is currently in full exam mode :) |
@deepfire @snowleopard and I have discussed and agreed the library was not ready for release on Hackage as it is still in need of some polishing as mentioned briefly above. The yEd idea looks interesting but I must finish my exams before I can take time to code. Please let me know if you have any questions. |
Just to document here the list of things to be done before the release:
|
I have been investigating how to implement the successor to the Also I encountered a few negative opinions about |
The string landscape will change really, really drastically, once Backpack arrives -- due to a whole new dimension of modularity, so a personal guess is that it's not worth the added complexity for now. |
Another point is that arrays are more-or-less awful for arbitrary mutation, whereas maps are better -- and |
I will just use a ByteString interface for now, can always add more if needed. Reading about Int.Map it seems there will speed gains there. My concern was how will this effect the API but looking through Int.Map has |
@thisiswhereitype Sounds like a good plan.
As a first step I suggest to stick to the API I described here: #7 (comment) Do the simplest useful thing first. You can expand later if need be, plus we'll iterate during the code review. |
I have been working on the agreed plan and after trying out ideas I have today committed the core types and getters API. https://github.com/thisiswhereitype/pangraph/blob/rewrite/src/Pangraph.hs |
I have another commit up on my development branch. The Pangraph API is updated with the discussion on the previous commit. Due to git being hard I also committed the some other parts I was working on. My plan is to abstract the concept of parsing an XML based file into an internal API for extracting a |
I have just released a commit to my branch which meets the following agreed goals. Namely:
It should be quick to add a parse template for Workcraft and I will investigate yEd. Also I need to rewrite most of the readme and Haddock seems to be necessary for a Hackage release. @deepfire @snowleopard |
@thisiswhereitype This is a good start, but I've added a bunch of comments to your commit here: |
I have addressed the all the comments on the commit except the abstraction of |
Congratulations! |
pangraph
is sufficiently amazing, that its absence on hackage is.. noticeable! : -)Are there plans for such a release?
The text was updated successfully, but these errors were encountered: