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


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0, 0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.3,,, 0.4
Change log changes.txt
Dependencies base (>=4.11 && <5) [details]
License BSD-3-Clause
Copyright (c) 2008-2018 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 2018-11-15T12:28:21Z
Distributions NixOS:0.4
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 8228 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-11-15 [all 1 reports]