The husk-scheme package

[ Tags: compilers-interpreters, language, library, mit, program ] [ Propose Tags ]

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

[Skip to Readme]


Versions 1.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, 3.19.3
Change log ChangeLog.markdown
Dependencies array, base (>=2.0 && <5), containers, directory, filepath, ghc, ghc-paths, haskeline, husk-scheme, mtl, parsec, process, transformers [details]
License MIT
Author Justin Ethier
Maintainer Justin Ethier <>
Category Compilers/Interpreters, Language
Home page
Source repository head: git clone git://
Uploaded Fri Oct 5 02:13:05 UTC 2012 by JustinEthier
Distributions NixOS:3.19.3
Executables huskc, huski
Downloads 16807 total (3744 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-23 [all 7 reports]
Hackage Matrix CI


  • Language
    • Scheme
      • Language.Scheme.Compiler
      • Language.Scheme.Core
      • Language.Scheme.FFI
      • Language.Scheme.Macro
        • Language.Scheme.Macro.ExplicitRenaming
        • Language.Scheme.Macro.Matches
      • Language.Scheme.Numerical
      • Language.Scheme.Parser
      • Plugins
        • Language.Scheme.Plugins.CPUTime
      • Language.Scheme.Primitives
      • Language.Scheme.Types
      • Language.Scheme.Variables



Turn off FFI to decrease build times and minimize executable sizes


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Maintainer's Corner

For package maintainers and hackage trustees

Readme for husk-scheme-3.5.7

[back to package description]

husk Scheme

husk is a dialect of Scheme written in Haskell that adheres to 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 may be used as either a stand-alone interpreter or as an extension language within a larger Haskell application. 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. husk is mature enough for use in production applications, however it is not optimized for performance-critical applications.

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


The Glasgow Haskell Compiler (GHC) is required to build, install, and run husk. All recent versions of GHC are supported, including 6.10, 7.0, 7.2, and 7.4. The easiest way to get GHC is via the Haskell Platform.

husk has been tested on Windows, Linux, and FreeBSD.

husk may be installed using cabal:

cabal update
cabal install husk-scheme


Copyright (C) 2010 Justin Ethier

husk scheme is available under the MIT license.

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.