2 ms·
> A language can be designed once and then interpreters and compilers (and transpilers) can be made available for it. While strictly true, some language featur
by naasking 3y ago
> A language can be designed once and then interpreters and compilers (and transpilers) can be made available for it.
While strictly true, some language features are awkward or unsuitable for scripting purposes. For instance, C++ templates and Haskell's type classes with extensions that make overload resolution Turing complete. You can do this, but it seems like a poor choice where the language ostensibly has runtime evaluation and type information available, and so you don't need to so strictly stratify the types and values. This collapses effectively two programming language levels into one, and considerably simplifies quite a bit of the runtime, compiler/interpreter, and the programs that can be expressed in the language