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]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • 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
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hashell
Downloads 2324 total (5 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

Dependencies:

*The Glasgow Haskell Compiler
     >= 6.8 <http://haskell.org/ghc>
*Cabal
     (any version should work fine; <http://haskell.org/cabal>)
*Parsec
     >= 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'.

Usage:

   $ hashell

   or

   $ 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.

License:
   GPL

Author:
   Luis Francisco Araujo
   luis@arjox.org