Shen began many years ago in 1989 when Dr. Mark Tarver was working at the Laboratory for the Foundations of Computer Science at Edinburgh. The original idea was to bring to the Lisp environment many of the advantages of ML; specifically pattern-matching and later type checking. The result of this work was the language Qi which won the author the Promising Inventor Award from Stony Brook University in 2003.
Qi was a ground-breaking langage that went far beyond ML and Haskell in providing type definitions through sequent calculus; a Turing-equivalent notation for defining formal reasoning system of all kinds. Qi linked this notation to an inbuilt Prolog for compiling sequent calculus and threw in lazy evaluation on demand, s-expr metaprogramming, a TDPL compiler-compiler and a macro system. The result was an extremely elegant and powerful programming environment.
The reduced instruction set defined a very restricted Lisp which was then called Kernel Lisp and later Kl. This super-portable version of Qi was called Shen - the Chinese word for spirit.
This project received funding in December 2010. In September 2011, Shen was delivered under a $free license.
Shen runs under 45 primitive instructions but is even more powerful than Qi. Shen added to Qi all of the following;
- an improved macro system,
- pattern-directed handling of strings and vectors,
- and the capacity to process binary files.