Skip to content

Latest commit

 

History

History
43 lines (32 loc) · 1.12 KB

README.org

File metadata and controls

43 lines (32 loc) · 1.12 KB

Shentong

A Haskell implementation of the Shen programming language

vajra.jpg

Shentong is a Haskell implementation of Shen, a modern Lisp family programming language which includes many advanced and interesting features. The name is thematically in keeping with that of shen, a construct from another esoteric religion.

Package dependencies are:

  • mtl
  • unordered-containers
  • uniplate
  • parallel
  • hashmap

Shentong runs on a fully native Haskell backend directly ported from the backend written in Shen’s kernel language, K Lambda. It is licensed under BSD 3. If cabal is not used to compile the sources, the GHC compiler option -fno-full-laziness must be used, as in

ghc -O2 Shen.hs -fno-full-laziness

The current supported version is Shen 20.

Try it

$> git clone https://github.com/mthom/shentong.git
$> cd shentong
$> cabal sandbox init
$> cabal install
$> cd .cabal-sandbox/bin
$> ./shen

or install it through Hackage:

$> cabal install shentong
$> ./shen