- Fexpr the Ultimate Lambda
- Semantic Extensibility with Vau
- Mutable Objects in Kernel
- Implementing Actors in Kernel
Besides vau (known as the Wow Combinator by fans, Frankenexpressions by critics), that unifies functions and (hygienic) macros in a single concept (with some open questions), one of my favorite Kernel features are first-class environments. They're just cute.
First-class environments have been shown to exhibit nice properties (e.g. you can write a module system in userland), and solve some of Scheme's problems (such as the letrec black hole), by Queinnec in the somewhat difficult to read Sharing Code Through First-class Environments. I think all designers of new dynamic languages should seriously consider them.
Previously: The Kernel Underground, Praising Kernel.
Alas. In weighing possible effects of exaggerating the Lispishness of Lisp, I failed to consider the smug factor.
ReplyDeleteIn the same vein of first-class environments, I would also recommend Gilad Bracha's `Modules as Objects in Newspeak`.
ReplyDeleteHaven't read it in detail, but Bracha's work is often too OO for me. E.g. I don't find the idea of nested classes as messages/methods seducing.
ReplyDeleteI've posted the fourth (and final) chapter in this series, for those who are interested.
ReplyDeletehttp://www.dalnefre.com/wp/2012/02/implementing-actors-in-kernel/