[nem-pl] skladnia
Michal Moskal
malekith at pld-linux.org
Wed Oct 29 15:10:12 CET 2003
On Wed, Oct 29, 2003 at 02:48:23PM +0100, Lukasz Kaiser wrote:
> > module M {
> > 'a append (x : list ('a) ....) = ...
> > }
> >
> > Myślę, że to da radę.
>
> To by bylo milo. Ale to jest tak czysta skladnia, ze pewnie nawet uda sie
> jako rozszerzenie skladniowe jesli nie bedzie w samym kompilatorze.
Na pewno powinno się to dać zrobić jako rozszerzenie semantycznie pod
warunkiem, że parser jak zobaczy "module" to będzię ściemniał, że
widział "[Nemerle_Std_Extension_module] class" albo coś podobobnego.
(Kamil -- słuchaj :-)
> > Zmienne typowe mogą przywędrować z wyższych poziomów (mogą być
> > zadeklarowane w typie). Oczwiście trywialne jest założenie, że pierwsze
> > użycie definiuje zmienną, ale może to prowadzić do błędów. Podobnie
> > wymagamy definiowania zwykłych zmiennych.
>
> Nie rozumiem jak z wyzszych poziomow. Rozumiem ze wymaga sie deklarowania
> zwyklych zmiennych, ale jesli chodzi o zmienne typowe to chyba dosc
> powszechnie przyjeta konwencja w swiecie MLa jest ich nie deklarowanie.
To zależy gdzie. Jeśli chcesz mieć polimorficzne metody w obiektach w
OCamlu, to musisz zmienne typowe napisać (skwantyfikować). Ogólnie nie
pisze się ich podobnie, jak nie pisze się typów.
--
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h
More information about the devel-pl
mailing list