Origins of the D Programming Language

Jacob Carlborg doob at
Sun Sep 8 18:09:41 UTC 2019

On 2019-09-01 02:03, Andrei Alexandrescu wrote:
> We have made good progress on our submission, in particular Mike got to 
> use his literary gift some more. Our latest draft is here:
> We would love some feedback, corrections, and historical details. Thanks!

I found a few issues:

* Line 803. There's a typo in the code snippet. It should be "struct 
Point(T)" instead of "struct(T) Point". Unless this is some pre 2006 
template syntax I'm not aware of.

* Lines 810-811. The parentheses less template instantiation syntax is a 
D2 feature. This has been explicitly noted for other D2 features

* Lines 983-1014. The "mixin template" syntax is D2 only, which has has 
been explicitly noted for other D2 features.

* Lines 1036-1039. String mixins is a feature that exists in D1 as well. 
During the D1 to D2 transition it was common to use a string mixin and a 
version statement to either mix in D1 code or D2 code for code bases 
that wanted to be compatible with both. It was necessary to use a string 
mixin in cases where the D2 code was not syntactically valid in D1.

I've verified this with a D1 compiler.

/Jacob Carlborg

More information about the Digitalmars-d mailing list