The husk-scheme package

[Tags: library, mit, program]

A dialect of R5RS Scheme written in Haskell. Advanced features are provided including:

Husk may be used as either a stand-alone interpreter or as an extension language within a larger Haskell application. By closely following the R5RS standard, the intent is to develop a Scheme that is as compatible as possible with other R5RS 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.


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
Dependenciesarray, base (>=2.0 && <5), bytestring, containers, directory, filepath, ghc-paths, haskeline, husk-scheme, mtl, parsec, process, time, transformers, utf8-string
AuthorJustin Ethier
MaintainerJustin Ethier <>
CategoryCompilers/Interpreters, Language
Home page
Bug tracker
Source repositoryhead: git clone git://
Executableshuskc, huski
Upload dateWed Aug 14 02:13:06 UTC 2013
Uploaded byJustinEthier
Downloads3065 total (189 in last 30 days)




useffiHaskell Foreign Function Interface (FFI). Allows husk to import and call into Haskell code directly from Scheme code. Turn off FFI to decrease build times and minimize executable sizesDisabled
uselibrariesR7RS-style libraries.Enabled
useptrsTurn off pointers to increase performance at the expense of severely restricting the functionality of mutable variables. Setting this flag to false will revert back to the behavior from previous versions of husk.Enabled

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


Maintainers' corner

For package maintainers and hackage trustees