The haskeem package

[Tags: gpl, program]

This is a moderately complete small scheme interpreter. It implements most of R6RS, with the exception of call/cc. It has a macro system, but not R6RS hygienic macros. It is also not necessarily fully tail-recursive; so it's not industrial-strength. For playing with or learning scheme, it should be pretty good.


[Skip to ReadMe]

Properties

Versions0.6.10, 0.7.0, 0.7.4, 0.7.5, 0.7.7, 0.7.9, 0.7.12, 0.7.16
Change logNone available
Dependenciesbase (==4.*), containers, directory, haskeline, haskell98, mtl, network, old-time, parsec, random, unix [details]
LicenseGPL
AuthorUwe Hollerbach <uh@alumni.caltech.edu>
MaintainerUwe Hollerbach <uh@alumni.caltech.edu>
CategoryCompilers/Interpreters
Executableshaskeem
UploadedSat Jun 6 20:52:03 UTC 2009 by UweHollerbach
DistributionsNixOS:0.7.16
Downloads1191 total (48 in last 30 days)
Votes
0 []
StatusDocs not available [build log]
All reported builds failed as of 2015-05-30 [all 2 reports]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for haskeem-0.7.0

This is haskeem, a small scheme interpreter. It lives on the web at

    http://www.korgwal.com/haskeem/

You should be able to build it with

    cabal configure
    cabal build

Once you have done so, find the haskeem executable and run it.
At the "lisp> " prompt, type (assuming you are still in the top-level
haskeem directory)

    (load "stdlib.scm")
    (load "selftest.scm")

The first command loads haskeem's standard library, and the second command
runs the self-test. Assuming that all works, you can automate some of this:
copy the haskeem executable and the stdlib.scm file to some standard
location(s), and then set the environment variable HASKEEM_INIT to the
absolute path of the stdlib.scm file. I store both the haskeem executable
and the stdlib.scm file in /home/uwe/tools, which is in my PATH, and thus
I set HASKEEM_INIT to /home/uwe/tools/stdlib.scm. Then I (and you) can launch
haskeem from any directory.

If you do not have haskeline installed, don't panic! There is an alternate
version of the main module in the file haskeem_readline.hs. That provides
either a binding to the gnu readline library, or an alternate REPL with no
line-editing capability at all. You'll need to rename this to haskeem.hs,
edit it to select which of the two you want, and rebuild.

Sorry, no bindings to editline.

Enjoy!