The data-kiln package

[Tags:bsd3, library]

We functional programmers know that mutable state is unglamorous, but sometimes useful. Data.Kiln lets you create and manipulate mutable recursive structures (Clay) in the Squishy monad (built over ST), then once you're finished with mutation, bake them into immutable, pure, lazy data. The library is polymorphic in the shape of each mutable node in the graph, requiring only that it be Traversable, which means that all sorts of structures, from cons-cells to tagged state diagrams, can be represented and manipulated safely and efficiently, with an ultimately pure output.


[Skip to Readme]

Properties

Versions 0.1.0.0
Dependencies base (==4.7.*), containers (==0.5.*), data-fix (==0.0.*), IfElse (==0.85.*), mtl (==2.2.*), transformers (==0.4.*) [details]
License BSD3
Copyright Copyright (c) 2014 Kenneth Foner
Author Kenneth Foner
Maintainer kenny.foner@gmail.com
Category Data
Home page https://github.com/kwf/data-kiln
Bug tracker https://github.com/kwf/data-kiln/issues
Uploaded Wed Dec 17 18:09:49 UTC 2014 by kwf
Distributions NixOS:0.1.0.0
Downloads 236 total (4 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2014-12-21 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for data-kiln

Readme for data-kiln-0.1.0.0

Data.Kiln

We functional programmers know that mutable state is unglamorous, but sometimes useful. Data.Kiln lets you create and manipulate mutable recursive structures (Clay) in the Squishy monad (built over ST), then once you're finished with mutation, bake them into immutable, pure, lazy data. The library is polymorphic in the "shape" of each mutable "node" in the graph, requiring only that it be Traversable, which means that all sorts of structures, from cons-cells to tagged state diagrams, can be represented and manipulated safely and efficiently, with an ultimately pure output.