Friday, January 20, 2012

Fun with Kernel

Smug Kernel Weenies - known to be even smugger than Smug Lisp Weenies - are advised to check out Dale Schumacher's series on 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.

4 comments:

John Shutt said...

Alas. In weighing possible effects of exaggerating the Lispishness of Lisp, I failed to consider the smug factor.

dmbarbour said...

In the same vein of first-class environments, I would also recommend Gilad Bracha's `Modules as Objects in Newspeak`.

Manuel Simoni said...

Haven'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.

Dale Schumacher said...

I've posted the fourth (and final) chapter in this series, for those who are interested.

http://www.dalnefre.com/wp/2012/02/implementing-actors-in-kernel/