Hackage libraries that make use of GADTs

Hello, Could you tell me some Hackage Libraries that make use (heavy or not) of GADTs? George -- things you own end up owning you

On Fri, Apr 18, 2014 at 12:22 AM, George Karachalias < george.karachalias@gmail.com> wrote:
Hello,
Could you tell me some Hackage Libraries that make use (heavy or not) of GADTs?
I used GADTs in the HaVSA library (https://github.com/creswick/HaVSA, and on hackage: https://hackage.haskell.org/package/HaVSA). Take a look at the VersionSpaces data type ( https://github.com/creswick/HaVSA/blob/master/src/AI/VersionSpaces.hs). This is a tree-style type that creates tuples (representing functions) -- the input and output types at each level of the tree can be different, but only the top-level types are relevant when using a VersionSpace. GADTs were recommended as a way to create a single tree type that could be type-correct but have heterogenous types. I doubt anyone is actually using HaVSA, though! It's one of the first haskell projects I worked on, and was an adaptation of a java library I created for an actual project. If anyone is interested in comparing the two implementations, here's the parallel java version: https://code.google.com/p/jversionspaces/ (But please note that this is a /horrible/ use case for Java; it would be much cleaner if Java had type aliasing.) --Rogan
George
-- things you own end up owning you
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
George Karachalias
-
Rogan Creswick