The ZFS package

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.

To run, type main' fs1 on ghci after loading ZFS.hs.
Then from some other terminal, type 'telnet localhost 1503'.

Downloads

Maintainer's Corner

Readme for ZFS

Readme for ZFS-0.0.2

This is a Cabalized and somewhat modernized/cleaned-up package containing Oleg's famous ZipperFS. For details, see <http://lambda-the-ultimate.org/node/1036>.
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 <http://hackage.haskell.org/cgi-bin/hackage-scripts/package/CC-delcont>. But I don't know how.