codehag / documenting-invariants

Proposal to document design invariants in TC39

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"general-purpose programming language"

phoddie opened this issue · comments

This suggestion is a different from the more technical topics. The following text is from the first paragraph of ECMA-262:

...ECMAScript has grown to be one of the world's most widely used general-purpose programming languages. It is best known as the language embedded in web browsers but has also been widely adopted for server and embedded applications.

This is true today. ECMAScript is useful for many applications beyond the web. Like some other invariants, it happened largely unintentionally.

Consider that the deliberations of TC39 often include deep consideration of implementation issues for browser engines and the impact of changes on the web platform. Such consideration is appropriate as it represents the interests of the majority of delegates. The invariant Moddable wishes to see maintained is that ECMAScript does not become only feasible on browser engines for use on the web platform.

Defining this invariant concisely or precisely is impossible. However, ensuring this invariant is upheld is the primary reason Moddable participates in TC39. This text from this repository's README is relevant:

The work around maintaining unwritten invariants usually falls onto a single member or delegate, whose absence may result in certain decisions being taken that then need to be adjusted.