thrist

Type-threaded list

http://heisenbug.blogspot.com/search/label/thrist

Latest on Hackage:0.4

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Gabor Greif, Brandon Simmons

Thrist is a list-like data structure (GADT) whose elements are values of a two-parameter datatype. The typing constraint ensures that the second type parameter of a former value unifies with the first type parameter of the latter.

This threading of types is the foundation for thrists' nice properties. E.g., paired with a suitable semantics, function composition $(.)$ can be embedded.

Technically a thrist is embodying the concept of a free category.

Sub-modules demonstrate the power of the thrist idea by emulating some familiar data structures.

For further ideas, please consult the companion (draft) paper "Thrists: Dominoes of Data" at https://github.com/ggreif/omega/blob/master/doc/Thrist-draft-2011-11-20.pdf