DIP 50 - AST macros

deadalnix deadalnix at gmail.com
Thu Nov 14 11:40:08 PST 2013


On Thursday, 14 November 2013 at 18:23:20 UTC, Andrei 
Alexandrescu wrote:
> On 11/14/13 2:17 AM, Walter Bright wrote:
>> On 11/14/2013 2:07 AM, Chris Cain wrote:
>>> I guess I would have thought the exact opposite from you... 
>>> that this is
>>> precisely something that *should* be done with a 
>>> library-defined macro.
>>
>> Again, I reiterate what experience shows happens with macro 
>> systems in
>> the long term.
>
> FWIW Walter talked me back around 2005-2006 into abandoning my 
> own ideas about languages with configurable syntax.
>

This is not proposing to configure syntax.

> There are quite a few failings about comparing programming 
> languages against natural languages, but here's one that I 
> think does have value: fixed syntax is ingrained into people's 
> notion of language, and swapping syntax within an otherwise 
> identical linguistic context is extremely taxing on the brain. 
> Anyone who's read with a C or C++ codebase full of macros and 
> #if-driven code can attest how unbelievably difficult 
> juxtapositions of the normal syntax with preprocessor syntax 
> can quickly become. That's part of why "static if" has been so 
> successful in D - it drives new semantics but within the same 
> syntax.
>

C macro can introduce new syntax. This cannot.

> Natural languages are "humans complete" because they are the 
> one vehicle we use to describe and manipulate our understanding 
> of the entire reality. If configurable syntax was something 
> necessary to model the world, it would have inevitably occurred 
> in natural languages one way or another. Instead, all human 
> languages (with no exception I know of) have fixed syntax and 
> prefer to add modeling power in other ways. There must be 
> something about this.
>
>
> Andrei

I think this very post pretty much show that you missed the point 
of the DIP.


More information about the Digitalmars-d mailing list