[ANN] [shen.clj 0.1.0]

2012-03-15 Thread Håkan Råberg
神.clj | Shen for Clojure 0.1.0

Shen[1] is a portable functional programming language by Mark Tarver[2] 
that offers

* pattern matching,
* λ calculus consistency,
* macros,
* optional lazy evaluation,
* static type checking,
* an integrated fully functional Prolog,
* and an inbuilt compiler-compiler.

  The Shen mission is to develop an ultra-portable version of Qi ...
   The means of achieving this involves developing a small fast Lisp called 
Kl which is rich enough to encode Qi,
   but small enough to be easily mapped into other platforms or implemented 
as a standalone.[3]

Hence, this project is maybe more aptly called kl.clj, as once you've 
provided the basics, Shen boostraps itself.
Shen comes with a test suite to verify compatibility. It now luckily 
passes, mainly thanks to Spiritualized[4]. 

Clojure and Shen can call each other, and (simple) Shen can be embedded 
straight into Clojure using the 神 and defprolog macros.
The KLambda translator introduces implicit recurs to get it to work, but 
does no full elimination/trampolining:

  Tail recursion optimisation is a must and part of the Kl standard.
   Quite of few of the reader routines for Shen will not work in a language 
like Python which lacks it[3]

For more information, check out the README[5] or the Marginalia docs[6] 
(admittedly somewhat illiterate).

The Shen version ported is 3.1. Released under the Shen License[7]. Doc 
strings taken from Shen Mode[8] by Eric Shulte.

cheers, Håkan

 [1] http://shenlanguage.org/
 [2] http://www.lambdassociates.org/
 [3] http://shenlanguage.org/Documentation/shendoc.htm
 [4] http://youtu.be/DBIbTqKHPow
 [5] https://github.com/hraberg/shen.clj
 [6] http://ghettojedi.org/shen.clj
 [7] http://shenlanguage.org/license.html
 [8] https://github.com/eschulte/shen-mode

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

[ANN] shen.clj 0.1.0

2012-03-15 Thread Håkan Råberg
https://github.com/hraberg/shen.clj | [shen.clj 0.1.0]

Shen is a portable functional programming language by Mark Tarver:

  The Shen mission is to develop an ultra-portable version of Qi ...
   The means of achieving this involves developing a small fast Lisp
called Kl which is rich enough to encode Qi,
   but small enough to be easily mapped into other platforms or
implemented as a standalone.

http://shenlanguage.org/

So this project is maybe more aptly called kl.clj, as once you've
provided the basics, Shen boostraps itself.
Shen comes with a test suite to verify compatibility, which passes.

The Shen version ported is 3.1. Released under the Shen License.

cheers, Håkan

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en