The ZFS package

[Tags:library, public-domain]

A implementation of a zipper filesystem using delimited continuations. Zipper-based File/Operating system with threading and exceptions all realized via delimited continuations. There are no unsafe operations, no GHC (let alone) Unix threads, no concurrency problems. Our threads can't even do IO and can't mutate any global state -- and the type system sees to it.

[Skip to Readme]


Versions 0.0, 0.0.1, 0.0.2
Dependencies base, CC-delcont (<=0.2), containers, haskell98, mtl, network, unix [details]
License PublicDomain
Author Amr Sabry, R. Kent Dybvig, Simon L. Peyton Jones, Oleg Kiselyov
Maintainer Gwern Branwen <
Stability Unknown
Category Monads
Uploaded Fri Feb 15 05:06:54 UTC 2008 by GwernBranwen
Distributions NixOS:0.0.2
Downloads 805 total (4 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 8 reports]


  • ZFS
  • ZipperM


Maintainer's Corner

For package maintainers and hackage trustees

Readme for ZFS

Readme for ZFS-0.0

This is a Cabalized and somewhat modernized/cleaned-up package containing Oleg's famous ZipperFS. For details, see <>.

A demonstration of how to use it is contained in zfs.pdf. The short of the matter is:

       "Load ZFS.hs into GHCi
       Start up the system: main at the GHCi prompt
       From some terminal: 'telnet localhost 1503'"

And then you can play around with it.

This package also comes with an old implementation of delimited continuations. Ideally it would be updated to use the maintained package, CC-Delcont <>. But I don't know how.