[nem-pl] Kolorowanie zmiennych przez inne funkcje
Kamil Skalski
nazgul at omega.pl
Thu Mar 11 12:42:20 CET 2004
Thursday 11 of March 2004 12:27, Kamil Skalski wrote:
> W ten sposób możemy opcjonalnie i elegancko powiedzieć, że dana funkcja
> jest higieniczna:
>
> public [Hygienic] make_code () : Expr {
> <[ def x = 1; bla (x) ]>
> }
>
> kod wygenerowany przez make_code nie wprowadzi żadnej definicji w miejscu w
> którym zostanie użyty (bedzie higieniczny).
EDIT: Implikacje takie rozwiązania są niezwykle ciekawe. W szczególności
zachowanie funkcji UseSiteSymbol. Nada ona symbolowi kolor, który ma makro,
które wywołało tą funkcję. Zatem pisząc
def code = make_code ();
<[ $code; x ]>
wszystko zachowuje się doskonale wg znanych już intuicji. Hmm, znaczy dokonale
znanych mi intuicji...
Ciekawe czy ktoś kiedyś będzie używał takich różnych sztuczek... Nawet jeśli
nie, to nie szkodzi, bo są one dość prostą kosekwencją bazy naszego systemu i
stanowią po prostu spójne jego dopełnienie.
Kamil
More information about the devel-pl
mailing list