[nem-pl] Todo do makr

Kamil Skalski nazgul at omega.pl
Wed Feb 18 19:14:32 CET 2004


Skoro już mamy release, to chciałbym sobie (i Michałowi) zrobić taki mały TODO 
do makr:
- wypasione bindowanie zmiennych z quotowań
<[ def x = E_ref ("a"); x ]>
zamiast
def sym = Macros.NewSymbol();
<[ def $(sym : var) = Nemerle.Compiler.Parsetree.E_ref ("a"); $(sym : var) ]>

w zasadzie framework do tego już zrobiłem, i tylko trzeba dodać rozpoznawanie 
namespaców, konstruktorów i zmiennych (a to wkracza już w magię typowania)

- z rozpędu po pierwszym punkcie można zrobić w ogóle to typowanie quotowań z 
dziurami:
żeby <[ def $(x : var) = 1 + true ]> wywalało się w trakcie kompilacji makra, 
a nie w trakcie kompilacji programu używającego makra
ja tam sądzę, że łatwiej to zrobić razem z poprzednim punktem, bo dość mocno 
są ze sobą zwązane

- dodanie uruchamianie makr operujących na definicjach typów... szczegóły jak 
to będzie działać jeszcze są do wymyślenia, ale idea i stan implementacji są 
chyba gotowe do zrobienia tego w miarę łatwo

- trzeba intensywnie zacząć myśleć nad API tych makr... coś w stylu
def m = clss.Methods (); clss.AddField (..)
to znaczy to już ja sobie o tym będę myślał i patrzył co się przyda, gdy 
poprzedni punkt zostanie zrobiony

To tyle jeśli chodzi o short-term. Wydaje mi się że nie są to wielkie rzeczy 
robiące rozwałkę w kompilatorze... ;) 
I zanim nadejdzie post-releasowa fala bug-reportów (o ile nadejdzie :)) można 
się z tym trochę popróbować.

Ok, a ja zaczynam pisać artykuł dla go-mono.pl

Kamil





More information about the devel-pl mailing list