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.

[Skip to Readme]
Versions [RSS] [faq] 0.15, 1.0
Change log CHANGELOG
Dependencies base, directory, ghc, haskell98, parsec, process, readline, regex-compat, unix [details]
License LicenseRef-GPL
Author Luis Francisco Araujo
Maintainer luis@arjox.org
Category User Interfaces
Uploaded by GwernBranwen at 2008-01-11T02:32:20Z
Distributions NixOS:1.0
Executables hashell
Downloads 2030 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2017-01-03 [all 8 reports]


Maintainer's Corner

For package maintainers and hackage trustees


Readme for Hashell-0.15

[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