thrist: Type-threaded list

[ bsd3, categories, data-structures, library ] [ Propose Tags ]

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

Versions 0.0, 0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.3,,
Change log changes.txt
Dependencies base (>=4.6 && <5) [details]
License BSD-3-Clause
Copyright (c) 2008-2014 Gabor Greif and Brandon Simmons
Author Gabor Greif, Brandon Simmons
Category Data Structures, Categories
Home page
Bug tracker
Source repo head: darcs get
Uploaded by GaborGreif at Sat Jul 5 12:44:08 UTC 2014
Distributions NixOS:
Downloads 3502 total (44 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees