Popularity
4.1
Declining
Activity
0.0
Stable
9
3
0

Monthly Downloads: 12
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags: Data Structures     Monads     Monad    

tangle alternatives and similar packages

Based on the "Monads" category.
Alternatively, view tangle alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of tangle or a related project?

Add another 'Monads' Package

README

tangle

This package implements an abstraction of record construction where each field may depend on other fields.

evalTangleT :: TangleT t m a -- ^ computation
  -> t (TangleT t m) -- ^ collection of tangles
  -> t Maybe -- ^ initial fields (usually all Nothing)
  -> m a

hitch
 :: Monad m
  => (forall h. Lens' (t h) (h a)) -- ^ the lens of the field 
  -> TangleT t m a

A computation tangle is a higher-kinded record of Tangle t m. Each field can fetch other fields by using hitch; the result is memoised so the computation is performed only once for each field. Recursive hitch is not supported.

See examples/weight.hs for an example.