Not sure about "few" but certainly the jump from no generics to ML eliminates far more than the jump from ML to dependent types.
-
-
The language. ;) Less flippantly, I'd say that I don't think we can draw a line that's concretely about "what people write down" that's separate from the rest of the language design.
-
To take an example, in typed languages, some languages make you write types on the parameters of anonymous functions, others will in general infer them. That's about what you write, but also about lots of fundamental design choices that are not "syntax".
-
All of the following are distinct categories and need better names than "the language" - language semantics that are inaccessible to the language because of missing syntax or other features (accessors and readonly properties in ES3)
-
- syntactic extensions that extend the semantic model but only via syntax (super in ES2015) - aspects of the semantics that compose semantically but not syntactically (concise methods in ES2015 can't be passed to functions) - more I'm forgetting
-
^ for all of the above, the possibility that it's reasonable to limit expressiveness in these ways for cognitive load reasons.
-
I think the concise methods bit is really just about syntax. The others are fundamental semantic choices which are manifest in syntactic choices as well -- for example that super can't be abstracted over. Sometimes semantic choices constrain syntax.
-
We considered toMethod and largely rejected it for time.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.