mthom/shentong

A Haskell implementation of the Shen programming language.

Haskell

168

44 commits

updated Apr 5, 2018

See the code

README

#+TITLE:	Shentong
#+AUTHOR:	Mark Thom
#+EMAIL:	markjordanthom@gmail.com

* 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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

haskell
interpreter
lisp
shen

Contributors

mthom

40 commits

qoelet

2 commits

equwal

1 commits

markallen4123

1 commits

mthom/shentong

A Haskell implementation of the Shen programming language.

Haskell

168

44 commits

updated Apr 5, 2018

See the code

README

#+TITLE:	Shentong
#+AUTHOR:	Mark Thom
#+EMAIL:	markjordanthom@gmail.com

* 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

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

haskell
interpreter
lisp
shen

Contributors

mthom

40 commits

qoelet

2 commits

equwal

1 commits

markallen4123

1 commits

Languages

Haskell

100.0%