[plt-scheme] Industrial strength interpreters with Scheme?

From: Michael Vanier (mvanier at cs.caltech.edu)
Date: Sat Nov 3 10:56:49 EDT 2007

Matthias Felleisen wrote:
> These people "throw" together interpreters via trial and
> error. Based on reg expressions and some BNF knowledge and
> reading around in other interpreters. They wouldn't be able
> to convey the knowledge and they have an incredibly hard
> time adding constructs that are beyond their scope of
> understanding -- because they can't design an interpreter
> and then derive a fast one. To wit:
>  -- lambda in Python
>  -- continuations in Stackless Python
>  -- blocks in Perl
> Just study the history of such constructs and see how long it
> took them to get them right.

I'd add:

-- Scoping in Java

"Of course, we don't need closures, and anyway not having them makes the implementation simpler and 
faster."  Famous Last Words.

Oh, and also:

-- scoping in Ruby
-- continuations in Ruby

Ruby currently has continuations but I heard that they're being removed as Ruby moves to a 
bytecode-based VM (as opposed to an AST interpreter) because nobody knows how to implement them. 
Hmm, isn't DrScheme a bytecode-based VM that has continuations...?



Posted on the users mailing list.