Jump to page: 1 230  
Page
Thread overview
DIP 50 - AST macros
Nov 10, 2013
Jacob Carlborg
Nov 10, 2013
bearophile
Nov 11, 2013
Rob T
Nov 11, 2013
Timothee Cour
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
simendsjo
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
dennis luehring
Nov 11, 2013
bearophile
Nov 11, 2013
Jacob Carlborg
Nov 12, 2013
deadalnix
Nov 12, 2013
Rob T
Nov 12, 2013
deadalnix
Nov 12, 2013
Jacob Carlborg
Nov 12, 2013
jerro
Nov 11, 2013
Timothee Cour
Nov 11, 2013
Timon Gehr
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Dicebot
Nov 11, 2013
Timon Gehr
Nov 11, 2013
Dicebot
Nov 11, 2013
Timon Gehr
Nov 11, 2013
Timon Gehr
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Shammah Chancellor
Nov 11, 2013
Shammah Chancellor
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
dennis luehring
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Timon Gehr
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Timon Gehr
Nov 12, 2013
Rikki Cattermole
Nov 11, 2013
bearophile
Nov 11, 2013
simendsjo
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
dennis luehring
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Timothee Cour
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Timothee Cour
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Rikki Cattermole
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Timothee Cour
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
luka8088
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Dejan Lekic
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Dmitry Olshansky
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
Marco Leise
Nov 11, 2013
Chris Cain
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
bearophile
Nov 11, 2013
Dicebot
Nov 11, 2013
deadalnix
Nov 11, 2013
Ellery Newcomer
Nov 11, 2013
Jacob Carlborg
Nov 11, 2013
deadalnix
Nov 11, 2013
Ellery Newcomer
Nov 12, 2013
Jesse Phillips
Nov 12, 2013
Walter Bright
Nov 12, 2013
Walter Bright
Nov 12, 2013
Walter Bright
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Walter Bright
Nov 13, 2013
Don
Nov 13, 2013
Walter Bright
Nov 13, 2013
Walter Bright
Nov 13, 2013
Timon Gehr
Nov 13, 2013
Walter Bright
Nov 13, 2013
deadalnix
Nov 13, 2013
Walter Bright
Nov 13, 2013
deadalnix
Nov 14, 2013
Walter Bright
Nov 14, 2013
deadalnix
Nov 14, 2013
Walter Bright
Nov 14, 2013
deadalnix
Nov 14, 2013
Jacob Carlborg
Nov 14, 2013
dennis luehring
Nov 14, 2013
Jacob Carlborg
Nov 14, 2013
dennis luehring
Nov 14, 2013
Walter Bright
Nov 14, 2013
dennis luehring
Nov 14, 2013
Walter Bright
Nov 14, 2013
Chris Cain
Nov 14, 2013
deadalnix
Nov 14, 2013
Walter Bright
Nov 14, 2013
Jacob Carlborg
Nov 14, 2013
Walter Bright
Nov 15, 2013
dennis luehring
Nov 15, 2013
Jacob Carlborg
Nov 17, 2013
Walter Bright
Nov 17, 2013
Jacob Carlborg
Nov 17, 2013
Simen Kjærås
Nov 17, 2013
deadalnix
Nov 17, 2013
Walter Bright
Nov 17, 2013
Timon Gehr
Nov 17, 2013
Walter Bright
Nov 18, 2013
deadalnix
Nov 18, 2013
Walter Bright
Nov 18, 2013
deadalnix
Nov 18, 2013
Walter Bright
Nov 18, 2013
deadalnix
Nov 19, 2013
luka8088
Nov 18, 2013
Jacob Carlborg
Nov 17, 2013
Dicebot
Nov 17, 2013
Rob T
Nov 14, 2013
deadalnix
Nov 14, 2013
Walter Bright
Nov 14, 2013
H. S. Teoh
Nov 17, 2013
Walter Bright
Nov 17, 2013
Jacob Carlborg
Nov 17, 2013
Walter Bright
Nov 18, 2013
Jacob Carlborg
Nov 18, 2013
Timon Gehr
Nov 18, 2013
Jacob Carlborg
Nov 18, 2013
Walter Bright
Nov 18, 2013
IgorStepanov
Nov 18, 2013
Kapps
Nov 18, 2013
IgorStepanov
Nov 18, 2013
Jacob Carlborg
Nov 20, 2013
Ellery Newcomer
Nov 18, 2013
Doodoo
Nov 18, 2013
Dicebot
Nov 18, 2013
Jacob Carlborg
Nov 18, 2013
Dicebot
Nov 18, 2013
Timon Gehr
Nov 19, 2013
Dicebot
Nov 19, 2013
Yota
Nov 19, 2013
SomeDude
Nov 19, 2013
Jacob Carlborg
Nov 19, 2013
Dicebot
Nov 19, 2013
Jacob Carlborg
Nov 18, 2013
Walter Bright
Nov 17, 2013
Doodoo
Nov 14, 2013
Dicebot
Nov 14, 2013
Zsombor Barna
Nov 14, 2013
deadalnix
Nov 17, 2013
SomeDude
Nov 17, 2013
Jacob Carlborg
Nov 18, 2013
SomeDude
Nov 18, 2013
deadalnix
Nov 17, 2013
Walter Bright
Nov 17, 2013
Zsombor Barna
Nov 14, 2013
Zsombor Barna
Nov 17, 2013
SomeDude
Nov 14, 2013
Rob T
Nov 14, 2013
Meta
Nov 14, 2013
Walter Bright
Nov 14, 2013
Meta
Nov 14, 2013
simendsjo
Nov 14, 2013
Meta
Nov 14, 2013
Jacob Carlborg
Nov 14, 2013
Walter Bright
Nov 14, 2013
dennis luehring
Nov 14, 2013
dennis luehring
Nov 14, 2013
Walter Bright
Nov 13, 2013
deadalnix
Nov 13, 2013
Walter Bright
Nov 13, 2013
deadalnix
Nov 14, 2013
Jacob Carlborg
Nov 14, 2013
Walter Bright
Nov 14, 2013
Jacob Carlborg
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Rob T
Nov 14, 2013
Walter Bright
Nov 14, 2013
Jacob Carlborg
Nov 12, 2013
Don
Nov 12, 2013
Rob T
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Joseph Cassman
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Walter Bright
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Walter Bright
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Walter Bright
Nov 14, 2013
Jacob Carlborg
Nov 12, 2013
Wyatt
Nov 12, 2013
Jacob Carlborg
Nov 12, 2013
John Colvin
Nov 12, 2013
Dicebot
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Ellery Newcomer
Nov 12, 2013
John Colvin
Nov 12, 2013
Ellery Newcomer
Nov 13, 2013
Simen Kjærås
Nov 13, 2013
Ellery Newcomer
Nov 17, 2013
Simen Kjærås
Nov 17, 2013
deadalnix
Nov 17, 2013
Ellery Newcomer
Nov 18, 2013
Jacob Carlborg
Nov 17, 2013
Timon Gehr
Nov 17, 2013
Simen Kjærås
Nov 17, 2013
Philippe Sigaud
Nov 18, 2013
Jacob Carlborg
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
luka8088
Nov 13, 2013
dennis luehring
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
luka8088
Nov 13, 2013
Jacob Carlborg
[OT] Re: DIP 50 - AST macros
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Dicebot
Nov 12, 2013
Dicebot
Nov 12, 2013
Dicebot
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
deadalnix
Nov 12, 2013
Martin Nowak
Nov 13, 2013
Zsombor Barna
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Dmitry Olshansky
Nov 12, 2013
Dicebot
Nov 13, 2013
Dmitry Olshansky
Nov 13, 2013
Martin Nowak
Nov 14, 2013
Jacob Carlborg
Nov 12, 2013
Philippe Sigaud
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Martin Nowak
Nov 14, 2013
Jacob Carlborg
Nov 12, 2013
dennis luehring
Nov 13, 2013
Rikki Cattermole
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Regan Heath
Nov 13, 2013
dennis luehring
Nov 13, 2013
dennis luehring
Nov 13, 2013
Jacob Carlborg
Nov 12, 2013
Martin Nowak
Nov 13, 2013
Jacob Carlborg
Nov 14, 2013
Dejan Lekic
Nov 12, 2013
Martin Nowak
Nov 13, 2013
luka8088
Nov 13, 2013
Rikki Cattermole
Nov 13, 2013
Jacob Carlborg
Nov 13, 2013
Jacob Carlborg
Nov 19, 2013
luka8088
Nov 19, 2013
Jacob Carlborg
Nov 19, 2013
luka8088
Nov 20, 2013
Jacob Carlborg
Nov 20, 2013
luka8088
Nov 21, 2013
Jacob Carlborg
Nov 21, 2013
luka8088
Nov 21, 2013
Jacob Carlborg
Nov 22, 2013
luka8088
Nov 22, 2013
Jacob Carlborg
Nov 22, 2013
luka8088
Nov 23, 2013
Jacob Carlborg
Nov 24, 2013
luka8088
Nov 22, 2013
luka8088
Nov 22, 2013
Jacob Carlborg
Nov 22, 2013
luka8088
Nov 13, 2013
Dmitry Olshansky
November 10, 2013
I've been thinking quite long of how AST macros could look like in D. I've been posting my vision of AST macros here in the newsgroup a couple of times already. I've now been asked to create a DIP out of it, so here it is:

http://wiki.dlang.org/DIP50

-- 
/Jacob Carlborg
November 10, 2013
Jacob Carlborg:

> http://wiki.dlang.org/DIP50

I suggest to add some more use cases (possibly with their implementation).

Bye,
bearophile
November 11, 2013
On Sunday, 10 November 2013 at 22:33:34 UTC, bearophile wrote:
> Jacob Carlborg:
>
>> http://wiki.dlang.org/DIP50
>
> I suggest to add some more use cases (possibly with their implementation).
>
> Bye,
> bearophile

A scalable and elegant solution to the "inspection" problem may be a AST use case.

Discussed here:
http://forum.dlang.org/thread/qconpedgdkyeawmdzect@forum.dlang.org

--rt
November 11, 2013
<[ .. ]> syntax looks very foreign. How about m{...} (with q{...} as a
precedent)?


On Sun, Nov 10, 2013 at 5:08 PM, Rob T <alanb@ucora.com> wrote:

> On Sunday, 10 November 2013 at 22:33:34 UTC, bearophile wrote:
>
>> Jacob Carlborg:
>>
>>  http://wiki.dlang.org/DIP50
>>>
>>
>> I suggest to add some more use cases (possibly with their implementation).
>>
>> Bye,
>> bearophile
>>
>
> A scalable and elegant solution to the "inspection" problem may be a AST use case.
>
> Discussed here: http://forum.dlang.org/thread/qconpedgdkyeawmdzect@forum.dlang.org
>
> --rt
>


November 11, 2013
Jacob Carlborg:

> http://wiki.dlang.org/DIP50

It's also useful to take a look at what F# is doing:
http://tomasp.net/blog/2013/computation-zoo-padl/index.html

Bye,
bearophile
November 11, 2013
People have shunned proposals to have @mixin functions because it wouldn't be obvious at call site that some statement is executed under a mixin (which could access all variables in scope etc).

The same will happen here; I think it should be clear at call site that a
macro is used.
How about:

macro!myAssert(1 + 2 == 4);
instead of myAssert(1 + 2 == 4);



On Sun, Nov 10, 2013 at 1:20 PM, Jacob Carlborg <doob@me.com> wrote:

> I've been thinking quite long of how AST macros could look like in D. I've been posting my vision of AST macros here in the newsgroup a couple of times already. I've now been asked to create a DIP out of it, so here it is:
>
> http://wiki.dlang.org/DIP50
>
> --
> /Jacob Carlborg
>


November 11, 2013
On 11/11/2013 02:49 AM, Timothee Cour wrote:
> People have shunned proposals to have @mixin functions because it
> wouldn't be obvious at call site that some statement is executed under a
> mixin (which could access all variables in scope etc).
>
> The same will happen here; ...

macros are hygienic.

November 11, 2013
On 2013-11-10 21:20:30 +0000, Jacob Carlborg said:

> I've been thinking quite long of how AST macros could look like in D. I've been posting my vision of AST macros here in the newsgroup a couple of times already. I've now been asked to create a DIP out of it, so here it is:
> 
> http://wiki.dlang.org/DIP50

Not a huge fan of the syntax, but I think it's a step in the right direction away from string mixins.

R/
Shammah

November 11, 2013
On 2013-11-11 03:04:34 +0000, Shammah Chancellor said:

> On 2013-11-10 21:20:30 +0000, Jacob Carlborg said:
> 
>> I've been thinking quite long of how AST macros could look like in D. I've been posting my vision of AST macros here in the newsgroup a couple of times already. I've now been asked to create a DIP out of it, so here it is:
>> 
>> http://wiki.dlang.org/DIP50
> 
> Not a huge fan of the syntax, but I think it's a step in the right direction away from string mixins.
> 
> R/
> Shammah

I think this would gain a lot more traction if someone wrote an std.expressions which produced workable code from a AST.   At that point, it's just for the D-frontend to parse code into said std.expressions.

The .NET expressions framework might servce as some insperation.

R/
Shammah

November 11, 2013
On 2013-11-10 23:33, bearophile wrote:
> Jacob Carlborg:
>
>> http://wiki.dlang.org/DIP50
>
> I suggest to add some more use cases (possibly with their implementation).

I could try and do that. The problem is I have not given much though on how the reflection API and the API used to build syntax trees should look like.

If this get any serious interest and we start to think about the implementation I was hoping that someone we more experience could help out with designing the API.

-- 
/Jacob Carlborg
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10 11