structs: Strict GC'd imperative object-oriented programming with cheap pointers.

[ bsd3, data, library ] [ Propose Tags ]

This project is an experiment with a small GC'd strict mutable imperative universe with cheap pointers inside of the GHC runtime system.

[Skip to Readme]
Versions [faq] 0, 0.1, 0.1.1
Change log CHANGELOG.markdown
Dependencies base (>=4.9 && <5), deepseq, ghc-prim, primitive, template-haskell (>=2.11 && <2.15) [details]
License BSD-3-Clause
Copyright Copyright (C) 2015-2017 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <>
Revised Revision 2 made by ryanglscott at Tue Jul 3 13:36:00 UTC 2018
Category Data
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by ryanglscott at Fri Jul 28 23:26:23 UTC 2017
Distributions LTSHaskell:0.1.1, NixOS:0.1.1, Stackage:0.1.1
Downloads 1119 total (45 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2018-07-24 [all 2 reports]


[Index] [Quick Jump]



Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for structs-0.1.1

[back to package description]


Hackage Build Status

This package explores strict mutable data structures in Haskell.

In particular, pointer-based data structures are effectively 'half price' due to the encoding used.

However, the result is that if you use the slot and field system wrong, you can and will SEGFAULT.

This means the Internal modules are very much internal.

Some documentation is available at

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett