Specifying template strings

Allen Wirfs-Brock allen at wirfs-brock.com
Thu Jul 10 09:20:07 PDT 2014


On Jul 10, 2014, at 9:03 AM, Axel Rauschmayer wrote:

>>> Yes. Naively, I’d expect the result of a TemplateLiteral to be a string. But I previously didn’t understand the difference between static semantics and runtime semantics. The indirection makes things more difficult to follow, but I assume it helps with writing the specification (given proxies, generators etc.).
>> 
>> Static semantics is about things about or which can be derived from just the source code, independent of the actual execution of the code
>> Runtime semantics is about what actually happens when the program executes and typically has dependency upon the runtime state of the program.
> 
> Yes. It’s quite clever how this attaches behavior to grammar rules (which initially confused me – I’m more used to runtime semantics referring directly to syntax).
> 
> It seems to me that part of the challenge of writing and reading the spec is that it has the complexity and structure of code, but without the support of code-focused tools such as IDEs. In an IDE, I’d simply click on an identifier to jump to its definition. Refactoring would also be simple(r).

Yup.  Ideally the spec. would be a hyper document with built-in browsings tools.  And by that I'm think of something much more elaborate than even the hyperlinks that JSON puts into the HTML versions.

A general gripe of mine, even on the web and with html we are moistly emulating linear paper-oriented documents. 

Allen


More information about the es-discuss mailing list