[nem-pl] Rozszerzenia - ich sk³adnia , semantyka

Kamil Skalski nazgul at omega.pl
Tue Oct 28 23:30:16 CET 2003


Tuesday 28 of October 2003 22:52, Lukasz Kaiser wrote:
> Hej.
>
> > Wiêcej hardcorowych pomys³ów i przemy¶leñ potem.
>
> To ja mam takie harcore pytanie - jesli juz chcesz robic taki hardcore to
> czemu nie mozna zrobic zwyklej funkcji typu kod -> cokolwiek wykonywanej

Już był pomysł cokolwiek -> kod, ale Michał stwierdził, że to równoważne z kod 
-> kod, choć będzie pewnie więcej pisania z wyłuskaniem wartości

> w czasie kompilacji, tylko kod -> kod ? Mogloby sie przydac np. do
> generowania dokumentacji. Inne hardcore to dostep do typu rzeczy w

Pomyśl jednak o tym, jak by to miało wyglądać w praktyce:
masz sobie klasę
   class A { blabla };
i chcesz otrzymać string z informacjami o niej, więc wg twojej wersji robisz
   def desription = describeYourself ( class A { blabla }; );
   storeToFile description "descr.xml"

trochę chore, żeby definicje klasy wklejać gdzieś w środek kodu, no nie?

lepiej to zrobić
   desciptionable (
       class A {bblabla };
   )
i potem
   A.describeMyselfToFile("descr.xml");

Chodzi o to, że rozszerzenie doda do klasy metodę, która będzie miała wpisane 
informacje o klasie.

> kodzie, czy to sie robi przez jakis x.type (lub $x.type, juz nie wiem). W

Może [< x : int >], tylko że to by wg poprzedniej definicji znaczyłoby 
wyrażenie E_TypeVar( E_Var(x), E_Type(int) ), a nie otypowanie x'a

> kazdym razie chcialbys moc napisac rozszerzenie generujace string z
> listingiem wszysztkich funkcji wraz z typami ? Jesli tak, to ciekawe w
> jaki sposob skladniowo. Inna ciekawa rzecz to czy Olszta umie to
> wygenerowac z execa, najchetniej przepuszczonego przez obfuscator ;).
>
> - lk
>
> _______________________________________________
> https://nemerle.org/mailman/listinfo/devel-pl





More information about the devel-pl mailing list