Mike, thank you for quick response, nice to hear you open for improvements. I'm also looking for this kind of package to be not only heterogeneous, but immutable and persistent, which leads to higher level of abstraction, something like *collection*. It will be nice to derive different types from it, like hvector, hlist etc.Author of vector-heterogenous here. I tried to design the package to meet use cases like you describe, but fully admit that it's not perfect. It's missing a lot of the functions you might expect from the regular vector package (some of them are because I didn't need them, and some are because the best implementation is not obvious), and syntax is still a little awkward for my tastes.
So if you have any ideas on improvements, I'd definitely be willing to incorporate them. Or if you have a great idea for a complete redesign of the package, I'd be happy to replace everything and let you take over.
On Sun, Dec 1, 2013 at 12:11 PM, Sergey Bushnyak <sergey.bushnyak@sigrlami.eu> wrote:
Hello, everyone. I'm looking for reliable library or idea how to implement heterogenous vector properly. It may seem odd, but I want elements not only be different types but also functions, something like that, pseudocode:
hvec [a b (c->d) [a] ...] -- can be any type
let hvec = hvec [ "stuff" 5 getUrl [1, 4, 5]]
So far I found *vector-heterogenous* package, but can't decide is it good to build on or create something on my own.
Any thoughts and ideas are appreciated. Thanks.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe