Next: , Previous: Caveats, Up: Introduction

1.2 Kernel History

The Kernel Programming Language is a work in progress. It is being developed by John N. Shutt, Ph.D, who created it while studying at the Worcester Polytechnic Institute (I think about 2002, or so... ASK). It is descended from scheme, with the idea that all objects should be first class values. In particular, Kernel replaces macros with operatives (kinda like statically scoped fexprs and fsubrs) and has first class environments. Kernel also has the notion of encapsulated objects which limits the ammount of information an implementation can share with a Kernel program (e.g. There is no way in Kernel to get the parents or a complete list of bindings of an environment object).

The main reference on Kernel is the preliminary report: Revised(-1) Report on the Kernel Programming Language. Some sections of the report are still incomplete, so both klisp and this manual will use specifications from other languages in these sections, trying to follow the Kernel spirit. These instances will be documented throughout the manual.

You can read all about Kernel at John's homepage at WPI, including the preliminary report on the language and his doctoral dissertation which gives a theorethical frame for fexprs. You can contact him at