[nem-en] one more question about macro system.

Ivan A Eryshov ivan.eryshov at gmail.com
Sat Mar 10 11:42:47 CET 2007


Yeah, thanx.

> -----Original Message-----
> From: devel-en-bounces at nemerle.org [mailto:devel-en-bounces at nemerle.org]
> On Behalf Of Kamil Skalski
> Sent: Saturday, March 10, 2007 4:32 PM
> To: devel-en at nemerle.org
> Subject: Re: [nem-en] one more question about macro system.
> 
> Probably the simplest way to match this need is:
> 
> <[ def $label = { def $label = "test";  WriteLine ($label);  $label } ]>
> 
> 
> 
> 2007/3/10, Ivan A Eryshov <ivan.eryshov at gmail.com>:
> > Macroses:
> >
> > <nemerle>
> > [assembly: Nemerle.Internal.OperatorAttribute ("Nemerle.Core", ":",
> true,
> > 210, 211)]
> >
> > namespace Problem
> > {
> >   macro @:(label) {
> >     <[ WriteLine($label); ]>
> >   }
> >
> >   macro deflbl (label) syntax ("deflbl", label) {
> >     <[ def $label = "test"; ]>
> >   }
> >
> >   macro deflbl2 (label) syntax ("deflbl2", label) {
> >     <[ def $label = "test2"; WriteLine($label + " is defined."); ]>
> >   }
> > }
> > </nemerle>
> >
> > Usage:
> >
> > <nemerle>
> > using Problem;
> >
> > deflbl lbl1;
> > :lbl1; // ok here
> >
> > deflbl2 lbl2;
> > :lbl2; // error: unbound name `lbl2'
> > </nemerle>
> >
> > I know why this problem occurs, but how I can avoid it?
> >
> >
> > _______________________________________________
> > https://nemerle.org/mailman/listinfo/devel-en
> >
> 
> 
> --
> Kamil Skalski
> http://nazgul.omega.pl
> 
> _______________________________________________
> https://nemerle.org/mailman/listinfo/devel-en




More information about the devel-en mailing list