I wonder if you can answer some of the metacircularity concerns by
defining the necessary parts using operational semantics, as in
http://jssec.net/semantics/sjs.pdf .

As an aside, has anyone actually attempted to formally document the
necessary kernel subset (apart from the above paper)?

-- Dirk

On Mon, May 17, 2010 at 4:03 PM, Graydon Hoare <[email protected]> wrote:
> On 17/05/2010 2:48 PM, Douglas Crockford wrote:
>>
>> I would like to see the next edition of the specification use the
>> ECMAScript language to describe the ECMAScript language. I think this
>> would significantly improve the likelihood that a programmer could
>> correctly understand ECMAScript by reading the standard. I think that
>> would make the web a better place. A strawman is in the wiki.
>>
>> http://wiki.ecmascript.org/doku.php?id=strawman:specification_language
>
> Some thoughts on this (as one of the authors of the ES4 RI):
>
>  - The circularity hazards you mention are real, and were a large
>    reason why we "bottomed out" in SML. Unless you're expecting users
>    to take the fixpoint of the spec or something (which may not even
>    be unique) you will probably need to draw a line around a kernel
>    language that you define "some other way". SML has a denotational
>    semantics, which is why we picked it. I'm not suggesting you pick it
>    again (plenty of problems arose; mostly cultural) but I think you'll
>    get the most mileage here when describing the standard libraries,
>    and possibly the front-end, rather than the core concepts like
>    "evaluate expression" or "look up name".
>
>  - There is already a fair quantity of code for both those bits
>    (library and front-end). ES4 libraries were being written in ES4;
>    Narcissus has a decent front-end and Mozilla has people working on
>    it still. Consider cribbing from these.
>
>  - Another serious hazard (and strong-ish argument for drawing a line
>    around a non-self-defined kernel language) is the risk of
>    over-specification. It's easier to avoid in library code, much
>    harder when dealing with bits of the most-primitive semantics, which
>    differ quite a lot between different implementations of ES.
>
>  - Be careful with legibility. Another (secondary) reason we settled on
>    SML is that it presented what we considered at the time to be a
>    relatively clean typographic quality and can be rendered as "not
>    very much like source code" with a certain amount of mechanical
>    translation and/or marked redaction work. We were repeatedly
>    warned that we would need to have a "natural language" translation
>    produced from the executable steps, on the basis that ISO and/or
>    ECMA would reject standards containing source and that "IP issues"
>    would substantially cloud and possibly derail the process if any
>    source code was proposed. Find out if this is a real problem before
>    you go too far down this road.
>
> -Graydon
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to