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 https://github.com/ggreif/omega/blob/master/doc/Thrist-draft-2011-11-20.pdf

Versions 0.0, 0.1, 0.1.1, 0.1.2, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.0.1, 0.3.0.2, 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
Maintainer ggreif+thrist@gmail.com, brandon.m.simmons+thrist@gmail.com
Category Data Structures, Categories
Home page http://heisenbug.blogspot.com/search/label/thrist
Bug tracker mailto:ggreif+thrist@gmail.com
Source repo head: darcs get http://hub.darcs.net/heisenbug/thrist
Uploaded by GaborGreif at Thu Nov 15 12:28:21 UTC 2018
Distributions NixOS:0.3.0.2
Downloads 3542 total (22 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-11-15 [all 1 reports]
Hackage Matrix CI

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees