The husk-scheme package

[Tags: library, mit, program]

A dialect of R5RS Scheme written in Haskell. Provides advanced features including continuations, hygienic macros, and the full numeric tower.

[Skip to ReadMe]


Versions1.0, 1.1, 1.2, 1.3, 2.0, 2.1, 2.2, 2.3, 2.4, 3.0, 3.1, 3.2, 3.2.1, 3.3, 3.4, 3.4.1, 3.4.2, 3.4.3, 3.4.4, 3.5.1, 3.5.2,,,, 3.5.3,,, 3.5.4, 3.5.5, 3.5.6, 3.5.7, 3.6, 3.6.1, 3.6.2, 3.6.3, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.15.1, 3.15.2, 3.16, 3.16.1, 3.17, 3.17.1, 3.18, 3.19, 3.19.1, 3.19.2
Change logNone available
Dependenciesarray, base (>=2.0 && <5), containers, directory, haskeline, haskell98, mtl, parsec [details]
AuthorJustin Ethier
MaintainerJustin Ethier <>
CategoryCompilers/Interpreters, Language
Home page
UploadedSat Apr 30 01:54:26 UTC 2011 by JustinEthier
Downloads8786 total (113 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees

Readme for husk-scheme-2.4

husk Scheme

husk is a dialect of Scheme written in Haskell that implements a subset of the R<sup>5</sup>RS standard. Advanced R<sup>5</sup>RS features are provided including continuations, hygienic macros, and a full numeric tower.

husk provides many features and is intended as a good choice for certain applications, however it is not a highly optimized version of Scheme. Rather, the goal of the project is to provide a tight integration between Haskell and Scheme while at the same time providing an opportunity for deeper understanding of both languages. In addition, by closely following the R<sup>5</sup>RS standard, the intent is to develop a Scheme that is as compatible as possible with other R<sup>5</sup>RS Schemes.

Scheme is one of two main dialects of Lisp. Scheme follows a minimalist design philosophy: the core language consists of a small number of fundamental forms which may be used to implement the other built-in forms. Scheme is an excellent language for writing small, elegant programs, and may also be used to write scripts or embed scripting functionality within a larger application.

Feature List

husk includes the following features from R<sup>5</sup>RS:

As well as the following approved extensions:

husk scheme is available under the MIT license.


husk may be easily installed using cabal - just run the following command:

cabal install husk-scheme


The interpreter may be invoked by running it directly from the command line:


Alternatively, you may run an individual scheme program:

./huski my-scheme-file.scm


A Haskell API is also provided to allow you to embed a Scheme interpreter within a Haskell program. The key API modules are:

For more information, run make doc to generate API documentation from the source code. Also, see shell.hs for a quick example of how you might get started.


The following packages are required to build husk scheme:

The scm-unit-tests directory contains unit tests for much of the scheme code. All tests may be executed via make test command.

The examples directory contains example scheme programs.

Patches are welcome; please send via pull request on github.


husk scheme is developed by Justin Ethier.

The interpreter is based on code from the book Write Yourself a Scheme in 48 Hours written by Jonathan Tang and hosted / maintained by Wikibooks.

If you would like to request changes, report bug fixes, or contact me, visit the project web site at GitHub.