Skip to content

jkarni/ZipperFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZipperFS

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.

setup

git clone https://github.com/jkarni/ZipperFS
cd ZipperFS
cabal install

usage

$ ghci
GHCi, version 8.0.2: http://www.haskell.org/ghc/  :? for help
Prelude> :load src/ZFS.hs src/ZipperM.hs
[1 of 2] Compiling ZipperM          ( src/ZipperM.hs, interpreted )
[2 of 2] Compiling ZFS              ( src/ZFS.hs, interpreted )
...
*ZFS> main' fs1
Entering the osloop<socket: 11>

then, in another terminal

telnet localhost 1503
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

/> help
Commands: quit, cd, ls, cat, next, mkdir, touch, echo, rm, mv, cp, help, commit, refresh

license

This code is in the public domain.

references

About

Oleg Kiselyov's zipper-based file-server/OS

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •