Hashell: Simple shell written in Haskell

[ program, user-interfaces ] [ Propose Tags ]

A simple shell written in Haskell; through the GHC API, it allows evaluation of Haskell expressions.

This works only with old GHCs.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.15, 1.0
Change log CHANGELOG
Dependencies base (>=3 && <4), directory, ghc, haskell98, parsec, process, readline, regex-compat, unix [details]
License LicenseRef-GPL
Author Luis Francisco Araujo
Maintainer none
Category User Interfaces
Uploaded by GwernBranwen at 2009-01-18T04:12:50Z
Distributions NixOS:1.0
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hashell
Downloads 2259 total (1 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-10-25 [all 12 reports]

Readme for Hashell-1.0

[back to package description]
Hashell : A Haskell shell
Version: 0.014a
Status: Alpha


*The Glasgow Haskell Compiler
     >= 6.8 <http://haskell.org/ghc>
     (any version should work fine; <http://haskell.org/cabal>)
     >= 1.0 <http://www.cs.uu.nl/people/daan/parsec.html>

You can build and install Hashell like any other Haskell package, through Cabal; the following example installs as the current user to one's ~/bin directory, but to install elsewhere or as root, simply change the directories or remove the --user flags, respectively:

   $ runhaskell Setup configure --verbose=2 --user --prefix=$HOME/bin --datadir=$HOME/bin/share
   $ runhaskell Setup build
   $ runhaskell Setup install --user;

You need to have Cabal installed in your system.
Cabal will often be part of your GHC installation, but you can get a stand-alone version of Cabal from <http://haskell.org/cabal>.

NOTE! The current version of Hashell assumes you have GHC 6.8.2 installed, and that the output of 'ghc --print-libdir' = "/usr/lib/ghc-6.8.2/". If that's not the right directory, you must edit Hashell/Eval.hs and update the constant 'ghcPath'.


   $ hashell


   $ hashell -c <configurationfile>

You always can use the --help option for further help.

   $ hashell --help

The syntax is still fluid, but roughly, ';' is a terminator; an expression starting with ':' will be treated as a load-file command; one starting with "quit" will exit Hashell; one starting with "cd" will change the working directory; and an expression enclosed in a "!()" will be passed through the GHC API and evaluated as an arbitrary Haskell expression. All other commands should be treated as programs to be run.


   Luis Francisco Araujo