Shen (programming language)
Shen is a functional programming language developed by Mark Tarver and introduced in September 2011. It is a successor to Qi.
Shen is a Lisp with pattern matching with guards, lambda calculus consistency, macros, optional lazy evaluation, optional static type checking, an integrated fully functional Prolog, and an inbuilt compiler-compiler.
Shen runs under a reduced instruction Lisp and is intended for portability to many platforms.
In his 2009 address "The Next Lisp" to the European Conference on Lisp Mark Tarver addressed himself to the shortcomings of Lisp and of his own work Qi. In regards to the latter, Tarver identified the principal problem as Qi's reliance on Common Lisp as a platform. The solution he suggested was to develop a very small virtual Lisp similar to John McCarthy's Lisp 1.5 into which all Qi source would be compiled. This small Lisp was called Kernel Lisp in his talk and later became called KLambda. This minimised version of Qi would release the spirit of Qi to develop beyond the confines of Common Lisp and for this reason the new release was called Shen (the Chinese for 'spirit').
Shen was not simply a clone of Qi however. The language showed significant differences in licensing and design. The license is not GPL-consistent allowing free development and sharing as long as the specification was respected, while choosing not to observe Freedom 1. Shen allowed pattern matching over lists as did Qi, but added pattern-matching over strings and vectors. A significant development in the language was the appearance of a macro system for allowing the user to develop his own notation. A standard library is under development for Shen.
|This programming language–related article is a stub. You can help Wikipedia by expanding it.|