[nem-pl] makra dynamiczne aka types as first class citizens
Kamil Skalski
nazgul at omega.pl
Thu Nov 27 16:46:23 CET 2003
Thursday 27 of November 2003 16:06, Michal Moskal wrote:
> Może można by naszej maszynerii do makr użyć do dynamicznej generacji
> kodu? Znaczy również w trakcie wykonania. Wtedy mielibyśmy to co
To przecież był jeden z pierwszych pomysłów. Zresztą już taki printf to jest
generacja kodu na podstawie stringa formatu.
No a potem myślałem o wkompilowywaniu języków skryptowych, generacji typów na
podstawie XML, itd.
> w lispie, tyle że sprawdzanie typów następuje jeden poziom wyżej. W
> lispie w trakcie wykonania, a u nas w trakcie kompilacji. Nie można
> sprawdzić typów w makrze, ponieważ mamy typ "Expr" a nie "Expr (bool)"
> (tj. wyrażenie typu bool).
Nie wiem o co chodzi pod pojęciem sprawdzanie typu w makrze... Od dawna
ustabilizowany pomysł jest taki, żeby wygenerować kod i potem go spróbować
otypować.
> Z drugiej strony być może warto by zrobić Expr (int), Expr (Expr (int))
> i podobne. Prawdopodobnie wymaga to traktowania typów jako obywateli
> pierwszego rzędu (podobnie jak funkcji). Może warto o tym pomyśleć, bo
Na razie typy są traktowane dość syntaktycznie... właściwie wszystko w makrach
jest teraz całkowicie syntaktyczne, a typowanie dzieje się później. Trudno mi
się myśli o czymś innym... jakoś czuję, żę to powinno właśnie tak działać jak
działa.
Kamil
More information about the devel-pl
mailing list