[nem-pl] Drugi rysunek już ze światłocieniem

Kamil Skalski nazgul at omega.pl
Fri Feb 27 22:12:25 CET 2004


Friday 27 of February 2004 21:20, Marcin 'Qrczak' Kowalczyk wrote:
> 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

Wydaje mi się, że problem o którym mówisz występuje zawsze przy użyciu 
niehigienicznej nazwy - ona nie ma podczepionego znaczenia globalnego. 
Pytanie czy ona miałaby się móc automatycznie związać z czymś globalnym, 
wydaje mi się, ze nie.

> wprowadzi inną nazwę, to w tym samym środowisku trzeba będzie szukać
> czegoś innego. Czyli niestety trzeba dołączać całe środowisko albo coś,

Nie widzę różnicy w wywołaniu makra przez kod
<[ m() ]> i <[ $("m" : var) () ]>
oba mają te same właściwości i mogą wytworzyć to samo.

> 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ć.

Tak i wydaje nam się, że widzimy to spójnie.

>
> 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

Ten sam kolor co kod generowany przez parser - czyli top-color. Zauważ, że te 
obiekty są tworzone przy uruchomieniu funkcji w której są zdefiniowane (i 
muszą być zdefiniowane o jedną kompilację wcześniej). Zatem dostają kolor z 
momentu uruchomienia tej funkcji. Generalnie zatem nie mają wielkiego sensu 
(w runtime ich nie użyjesz, przynajmniej na razie), chyba że są w funkcji 
której używa makro i wtedy mają jasno sprecyzowany kolor i sens.

> będzie przekazywany z momentu rozwijania makra do wykonania cytatu kodu
> w treści makra?

Przez statycznie dostępny i globalny stos kolorów gdzieś w kontekście 
typowania. Tu wszystko jest ładne - makro i funkcje których używa tworzą 
obiekty kodu w momencie ich uruchomienia, wtedy dostają aktualny kolor.

>
> 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.

Kolor będzie zawsze się zwiększał, chyba nie ma takiej możliwości.






More information about the devel-pl mailing list