[nem-pl] Drugi rysunek już ze światłocieniem
Marcin 'Qrczak' Kowalczyk
qrczak at knm.org.pl
Fri Feb 27 21:20:23 CET 2004
W liście z śro, 25-02-2004, godz. 23:07, Kamil Skalski pisze:
> Nie musi, z użyciem zmiennych quotowanych będzie związana interperacja danej
> zmiennej jako symbolu widocznego globalnie w miejscu definicji quotowania
Możliwość łamania higieny powoduje, że nie wystarczy pamiętać wyników
szukania. Jeśli dana nazwa okaże się nazwą makra, które niehigienicznie
wprowadzi inną nazwę, to w tym samym środowisku trzeba będzie szukać
czegoś innego. Czyli niestety trzeba dołączać całe środowisko albo coś,
z czego można je znaleźć.
> Nie - nowy numerek będzie rzeczywiście generowany podczas uruchomienia każdego
> kolejnego makra, ale będzie on sobie siedział statycznie w kontekście
> typowania i każde stworzenie obiektu zmiennych będzie go sobie pobierało i
> zapisywało.
Czyli fragmenty kodu wprowadzone przez jedno wywołanie makro osobnymi
cytatami kodu będą miały ten sam kolor? W ten sposób co prawda różne
makra pisze się łatwiej, ale nie jestem przekonany, że można taki system
w spójny sposób zaprojektować.
W szczególności nie wiadomo, jaki kolor mają otrzymywać cytaty kodu
użyte nie wewnątrz makra, tylko tak po prostu. W jaki sposób ten kolor
będzie przekazywany z momentu rozwijania makra do wykonania cytatu kodu
w treści makra?
BTW, trzeba uważać, żeby pomalowanie nowym kolorem nie ujednoliciło
nazw, które wcześniej przy tym samym symbolu miały różne kolory.
> Umożliwiamy brudne wstawianie właśnie wg tej semantyki, ale generalnie chyba
> nie będzie zbyt użyteczne i może się kiedyś to wywali.
Ja tego nie przewiduję, jest za bardzo brutalne (o ile w ogóle daje się
spójnie zdefiniować) - powinno wystarczyć udawanie nazw z kontekstu
użycia makra. Mimo że czasem chce się je przetransportować dalej; wtedy
można ręcznie.
> Będzie potrzebna tylko gdy nie chcemy sami nawadać zmiennej żadnej nazwy, a
> jak chcemy to piszemy
> def y = <[ x ]> i mamy coś w stylu NewSymbol ("x") tak jak kiedyś Marcin pisał
Przy czym to działa tylko wtedy kiedy nowy kolor jest nadawany przez
cytowanie, a nie przez wołanie makra. (Ale właśnie taki system umiem
sobie wyobrazić, a innego nie.)
> > 9. standardowo z makr nie wycieka żadna deklaracja, choć
> > teoretycznie gdyby algorytm okazał się odporny na to, to można z tego
> > zrezygnować
>
> To nadal pozostaje zasadą, choć jak się przekonamy że z naszym systemem działa
> dobrze to pewnie jednak pozwolimy.
Jeśli makra-wyrażenia i makra-definicje są definiowane inaczej, to nie
widzę tutaj problemów.
--
__("< Marcin Kowalczyk
\__/ qrczak at knm.org.pl
^^ http://qrnik.knm.org.pl/~qrczak/
More information about the devel-pl
mailing list