ML as the ES4 spec meta-language
brendan at mozilla.org
Fri Oct 20 13:29:41 PDT 2006
On Oct 20, 2006, at 4:19 PM, Brendan Eich wrote:
> On Oct 20, 2006, at 4:14 PM, John Cowan wrote:
>> Brendan Eich scripsit:
>>> We seem to have chosen ML (OCaml with call/cc, probably) as the
>>> language for the ES4 spec.
>> That's why it's called ML (MetaLanguage); ML began as a metalanguage.
> Yeah, we know.
>> I wish you were using SML instead of OCaml, but I suppose I can
> It's not hard :-P.
I should add, more constructively, that we are not using the
Objective part of OCaml; in fact we are trying to use a subset that
will be easy for SML folks to read and write. But we need the call/
cc patch to OCaml, because we do not want to model an ES4 stack
machine or continuation machine. We want the meta-language to
support call/cc directly.
This is a pragmatic decision, and there are other ways to skin the
cat for sure, but they tend to taint the entire reference
implementation and make it obscure. We believe we can keep this call/
cc monster in a box, so that it does not taint the spec and break
abstraction everywhere. It is needed only for yield and perhaps a
few other hard cases.
More information about the Es4-discuss