Difference between revisions of "Applications and libraries/Operating system"

From HaskellWiki
Jump to navigation Jump to search
(Add 'shell utilties' section, add Igloo's gnu-ls in haskell)
(More definition style)
Line 2: Line 2:
   
 
== Standalone implementations of operating systems in Haskell ==
 
== Standalone implementations of operating systems in Haskell ==
  +
* [http://www.cse.ogi.edu/~hallgren/House/ House]
+
;[http://www.cse.ogi.edu/~hallgren/House/ House]
  +
:House is a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language, or in short for building operating systems in Haskell.
   
 
== Filesystems ==
 
== Filesystems ==
   
  +
;[http://abridgegame.org/repos/fuse_example Fuse]
* [http://abridgegame.org/repos/fuse_example Fuse] David Roundy's combination of a nice DarcsIO-style filesystem interface on the Haskell side (called FuseIO) with an interface to libfuse (which is a library for creating filesystems from user space on linux).
+
:David Roundy's combination of a nice DarcsIO-style filesystem interface on the Haskell side (called FuseIO) with an interface to libfuse (which is a library for creating filesystems from user space on linux).
   
* [http://cvs.haskell.org/darcs/hfuse/ Jeremy Bobbio's fuse bindings]
+
;[http://cvs.haskell.org/darcs/hfuse/ hfuse]
  +
:Jeremy Bobbio's fuse bindings
   
* Halfs, the Haskell Filesystem
+
;Halfs, the Haskell Filesystem
   
* [http://okmij.org/ftp/Computation/Continuations.html#zipper-fs ZipperFS] is Oleg Kiselyov's file server/OS where threading and exceptions are all realized via delimited continuations.
+
;[http://okmij.org/ftp/Computation/Continuations.html#zipper-fs ZipperFS]
  +
:Oleg Kiselyov's file server/OS where threading and exceptions are all realized via delimited continuations.
   
 
== Dynamic linking ==
 
== Dynamic linking ==
   
* [http://www.cse.unsw.edu.au/~dons/hs-plugins hs-plugins] Library support for dynamically loading Haskell modules, as well as compiling source or ''eval'' code fragments at runtime.
+
;[http://www.cse.unsw.edu.au/~dons/hs-plugins hs-plugins]
  +
:Library support for dynamically loading Haskell modules, as well as compiling source or ''eval'' code fragments at runtime.
   
 
== Shell ==
 
== Shell ==

Revision as of 03:56, 31 March 2006

Standalone implementations of operating systems in Haskell

House
House is a platform for exploring various ideas relating to low-level and system-level programming in a high-level functional language, or in short for building operating systems in Haskell.

Filesystems

Fuse
David Roundy's combination of a nice DarcsIO-style filesystem interface on the Haskell side (called FuseIO) with an interface to libfuse (which is a library for creating filesystems from user space on linux).
hfuse
Jeremy Bobbio's fuse bindings
Halfs, the Haskell Filesystem
ZipperFS
Oleg Kiselyov's file server/OS where threading and exceptions are all realized via delimited continuations.

Dynamic linking

hs-plugins
Library support for dynamically loading Haskell modules, as well as compiling source or eval code fragments at runtime.

Shell

Link collections on pure functional shells

Haskell shell examples

HsShellScript
A library for using Haskell for tasks which are usually done by shell scripts, e.g. command line parsing, analysing paths, etc. It can be used also for tasks usually done GetOpt (a module for GNU-/POSIX-like option handling of commandline arguments). But also for many other things.
Jim Mattson's Hsh Haskell shell
on the software page by Ralf Hinze. Hsh seems to be written in Haskell 1.3.
HaSh
a nascent project page on a shell scripting system
Monadic i/o and UNIX shell programming
UNIX pipes as IO monads.
shell-haskell
library for communicating with other processes via Haskell code

Shell utilities

haskell-ls
A (near-)clone of the GNU ls utility.
h4sh
h4sh provides a set of Haskell List functions as normal unix shell commands. This allows us to use Haskell in shell scripts transparently. Each program is generated from the corresponding Haskell function's type