[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