[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