DIP 50 - AST macros

Jacob Carlborg doob at me.com
Mon Nov 11 11:55:45 PST 2013


On 2013-11-11 20:23, Ellery Newcomer wrote:

> For macros that generate macros, I think you need a way to escape the
> splicing and maybe define how splicing works in an inner quasi quote.
>
> I guess you want <[ <[ $exp ]> ]> to turn into the ast <[ 1 ]>
>
> Then if you wanted ast <[ <[ $exp ]> ]> with the splice associated with
> the inner quasi quote, you'd have to do something like
>
> <[ <[ <[ \\\$exp ]> ]> ]>
>
> maybe a way to associate a splice with a quasi quote?
>
> <a[ <b[ <c[ $(a, exp) + $(b, exp) + $(c, exp)  ]> ]> ]>
>
> a's exp is A
> b's exp is B
> c's exp is C
>
> then splice the quasi quote N times:
>
> 1: ast <b[ <c[ A + $(b, exp) + $(c, exp) ]> ]>
> 2: ast <c[ A + B + $(c, exp) ]>
> 3: ast A + B + C
>
> just dinking around here

This would require some thought.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list