On Thursday, 28 February 2013 at 05:32:37 UTC, Walter Bright wrote:
On 2/27/2013 8:03 PM, Marco Leise wrote:
There are > 1000 open bugs and well known, expected language
features not implemented. In my opinion, the compiler should
be ported after all important language features are finalized.
I don't mean syntax, but stuff that only bearophile has the
complete list of: shared, allocators, ...
Also DMD leaks memory -> it is tempting to use the GC -> DMD
will often be a whole lot slower in the end. :D
Also Phobos is designed for safety and generic programming,
not for raw speed like many old C functions (at least that's
my experience). E.g. I have seen or written Unicode and
float/string conversion routines that perform 7x to 13x faster
than the 'obvious' way in D.


The motivation for the migration is not for fun, it's not even to "eat our own dogfood". The idea is to make the front end more reliable and more flexible by using D features that help. This should make us more productive and able to fix problems faster and presumably have fewer problems in the first place.

There are a long list of D things that will help.

So you're saying some of our dogfood is actually caviar then...

I would divide the caviar into two groups, manifest and hidden. The manifest caviar is the easiest to sell. Hidden caviar is the benefits which are unexpected by at least a portion of the D community. Each piece of hidden caviar therefore needs one or more champions.

Not that this is a perfect example, but the lexer being assembled by Brian and Dmitri seems to have a spark of the hidden caviar about it, lending weight to the "clean room" camp. The politics of "existing" versus "clean room" must be mastered because there's a lot of room for resentment there if the wrong choices are made, it seems to me.

One thing both "clean room" and "existing" have, or should have, in common is the test suite, which is probably a better spec than the spec is. Perhaps a method can be devised which makes it easy to divide and conquer the test suite.

Reply via email to