Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mthom/shentong

A Haskell implementation of the Shen programming language.
https://github.com/mthom/shentong

haskell interpreter lisp shen

Last synced: 3 months ago
JSON representation

A Haskell implementation of the Shen programming language.

Awesome Lists containing this project

README

        

#+TITLE: Shentong
#+AUTHOR: Mark Thom
#+EMAIL: [email protected]

* A Haskell implementation of the Shen programming language
#+ATTR_HTML: align=center
[[vajra.jpg]] \\

Shentong is a Haskell implementation of [[http://www.shenlanguage.org][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