Will macros work with expressions?
Reiner Pope
some at address.com
Thu Sep 6 05:39:30 PDT 2007
Don Clugston wrote:
> Reiner Pope wrote:
>> Jari-Matti Mäkelä wrote:
>>> Robert Fraser wrote:
>>>> Jari-Matti Mäkelä Wrote:
>>>
>>>>> If I understood it correctly, the macros only do a simple substitution
>>>>> using their parameters, hide symbols when necessary (hygiene) and then
>>>>> attach the generated code to the AST.
>>>> I think that's about right, but remember that their parameters can
>>>> specialize on any pattern and extract parts of the expression, which I
>>>> think is the most exciting feature.
>>>
>>> Ah, good point. That would make overloading and recursive calls the
>>> primary
>>> control flow constructs then.
>>
>> Such an environment is not pleasant as it involves large code
>> overheads. It's what's required in C++ template metaprogramming; D
>> made this *much* nicer by introducing static if.
>
> And even better (perfect in many cases) with CTFE.
>
>> Please don't take a step backwards with macros.
>
> This was the reaction I had too. There's really no need for macros to
> provide new functionality, they just need to provide syntax sugar for
> what we can already do with string mixins.
But the hygiene of macros is certainly appealing, no?
More information about the Digitalmars-d
mailing list