AshleyMoni / QuadTree

QuadTree library for Haskell, using lenses.
Other
15 stars 4 forks source link

Bump dependencies for GHC 7.10. #2

Closed mgajda closed 9 years ago

mgajda commented 9 years ago

Hi Ashley,

Would you consider bumping the dependencies up, and releasing new version on Cabal?

Since your package seems hugely useful, I wonder whether you would like to join Stackage with it. If you do not want to commit your own resources, I would consider taking over maintenance and putting it on Stackage.

And thanks for awesome work!

mgajda commented 9 years ago

Of course, for ideal inclusion into other library collections, I would recommend changing license to BSD3.

AshleyMoni commented 9 years ago

Oh wow, I didn't realize anyone actually used my package, let alone considered it hugely useful!

I'd love to update my package, and I'd love to join Stackage with it as well. Will resolve this today once I get out of bed.

mgajda commented 9 years ago

Great news Ashley! Looking forward to have your code included: https://github.com/fpco/stackage

PS Did you try to profile it yet? I wondered whether this kind of data structure would benefit from making all constructor parameters strict, and unboxed: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/pragmas.html#unpack-pragma

Note that I am author of Octree package, that hugely increases efficiency in 3D case, but doesn't handle 2D structures at all. https://hackage.haskell.org/package/Octree It would be nice to get a similar or common API for multidimensional datatypes some day... if possible.

There was also an excellend KD-tree package round here, that I happened to keep alive from time to time.

AshleyMoni commented 9 years ago

I haven't made any real attempts to profile it, no. But I'd certainly like to.

My QuadTree library was initially just a kind of practice problem I set for myself. I wanted experience manipulating larger functional data structures, as well as practical experience poking at lenses and building cabal packages.

Been slowly optimizing and expanding and refining it into something I hope people would actually find useful.

If you have any further recommendations for lessons learned or optimizations that worked on your Octree package, I'd love to discuss them with you.