Javascript bytecode
deadalnix
deadalnix at gmail.com
Tue Dec 18 13:57:03 PST 2012
On Tuesday, 18 December 2012 at 21:30:04 UTC, Walter Bright wrote:
> D is open source. There is little implementation cost to doing
> a compiler for it. It's a solved problem.
>
Let me emit some doubt about that.
First, D is difficult to compile because of the compile time
features. DMD frontend is not the best piece of software I've
seen on an extensibility point of view.
Plus, if D is open source in its license, it isn't in its way of
doing things. When you drop functionality into master for reason
the community isn't even aware of, you don't act like in an open
source project. You'll find a huge gap between adopting a license
and adopt the cultural switch that is required to benefit from
open source.
Right now, it is painfully hard to implement a D compiler, for
various reasons :
- No language spec exists (and dmd, dlang.org and TDPL often
contradict each others).
- The language spec change constantly.
- Sometime by surprise !
- Many behavior now considered as standard are historical dmd
quirks, that are hard to reproduce in any implementation not
based on dmd.
- Nothing can be anticipated because goals are not publics.
- Sometime you'll find 2 specs (-property) for the same thing.
- Many things are deprecated but it is pretty hard to know which
one.
- It in unknown how to resolve paradoxes created by compile time
features.
- I can go on and on.
Right now only dmd based front end are production quality, and
almost no tooling exists around the language. You'll find very
good reasons for that in the points listed above.
> A bytecode requires another spec to be written, and if you
> think it's easy to make a conformant Java VM bytecode
> interpreter, think again :-)
>
Nobody ever said that.
> Yes, it is trivial. The only thing that is lost are local
> variable names and comments.
You'll find tools that compact your whole project, loosing in the
process all names.
More information about the Digitalmars-d
mailing list