[nem-pl] Dalsze rozważania o higienicznych makrach
Kamil Skalski
nazgul at omega.pl
Mon Feb 23 18:02:14 CET 2004
Sunday 22 of February 2004 21:25, Kamil Skalski wrote:
> macro m() { <[ def $("f" : var) = ... ]> }
> macro m'() { <[ m(); $("f" : var) }
I jeszcze takie pytanko - czy to aby na pewno ma tak działać? Czy definicje
produkowane niecnie przez jakieś makro mają przetrwać poza jego wnętrze?
Wyobraźmy sobie takie coś:
macro @while (cond, body)
syntax ("while", "(", cond, ")", body)
{
<[
def loop () : void {
when ($cond) { $body; loop() }
};
loop ();
]>
}
Foo () {
mutable i <- 0;
def loop () {
i <- i + 1;
mutable j <- 0;
while (j < i) j <- j + 1; /// makro while wprowadza swoją loop()
when (i < 100) loop (); // to loop binduje się do loop z while
}
}
chyba jednak intencja programisty to nie przechwytywanie loop przez while...
More information about the devel-pl
mailing list