LEM: Różnice pomiędzy wersjami
Z Lem
Linia 5: | Linia 5: | ||
* Czego brakuje? Co warto wprowadzić? | * Czego brakuje? Co warto wprowadzić? | ||
** Brakuje narzędzi programowania równoległego. Tej sprawy nie mozna pozostawiać systemowi operacyjnemu. To byłby błąd. | ** Brakuje narzędzi programowania równoległego. Tej sprawy nie mozna pozostawiać systemowi operacyjnemu. To byłby błąd. | ||
− | ** Warto uprzadkować przekazywanie typu obiektowego jako parametru. Tu powinno wystarczyć zadeklarowanie, że parametr aktualny typ T ma byc podtypem typu Q. W ten sposób uzyskalibyśmy | + | (czerwiec 2018) Mam propozycję. |
− | * Skoncentrować się na | + | ** Warto uprzadkować przekazywanie typu obiektowego jako parametru. Tu powinno wystarczyć zadeklarowanie, że parametr aktualny typ T ma byc podtypem typu Q. W ten sposób uzyskalibyśmy możliwość sprawdzenia typu aktualnego, a także otwieramy sobie drogę do korzystania z metod (wirtualnych) typu Q wewnątrz nowo deklarowanego modułu np. procedury ... |
− | * Składnia -- wyraźnie | + | * Skoncentrować się na opisie semantyki (operacyjnej) tzn. zdefiniować precyzyjnie jak ma wyglądać obliczenie. Kiedy będzie zgłaszany błąd? etc. |
+ | * Składnia -- wyraźnie powiedzieć "pisz jak chcesz". Tzn. dać możliwość wybierania wariantu składni, a la Java lub a la Loglan. To nie jest najwazniejsze. | ||
* Bardzo '''ważne''': dodac tam gdzie to możliwe aksjomaty konstrukcji składniowych jako partnera dla opisu semantyki operacyjnej. | * Bardzo '''ważne''': dodac tam gdzie to możliwe aksjomaty konstrukcji składniowych jako partnera dla opisu semantyki operacyjnej. | ||
* Mniej ważne, ale ważne: stream zamiast file. | * Mniej ważne, ale ważne: stream zamiast file. | ||
− | * | + | * Ważne: biblioteki klas - to jest narzędzie o zasadniczym znaczeniu |
− | * | + | * Ważne: Partnerem dla Lema ma być proof-checker następca Mizara. |
* Oprócz modułów '''process''', zaproponujmy moduły '''server'''. Obiekt serwer może udostępniać swoje metody równolegle do swojego wątku. Metody te uruchamiane na rdzeniach procesora działaja równolegle. I oczywiscie mamy tu do czynienia z protokołem innym niż alien. Na razie - roboczo nazwijmy go alienB alien bis lub po prostu serve (zamiast call). | * Oprócz modułów '''process''', zaproponujmy moduły '''server'''. Obiekt serwer może udostępniać swoje metody równolegle do swojego wątku. Metody te uruchamiane na rdzeniach procesora działaja równolegle. I oczywiscie mamy tu do czynienia z protokołem innym niż alien. Na razie - roboczo nazwijmy go alienB alien bis lub po prostu serve (zamiast call). | ||
− | Wprowadźmy tez alien zamiast call. | + | * Wprowadźmy tez alien zamiast call. Już jest raise zamiast call (dynamicznie szukamy handlera). |
+ | * Uwaga o funkcjach. Nieistotność definicji. |
Aktualna wersja na dzień 11:38, 21 cze 2018
Lem - robocza nazwa języka programowania, następcy Loglanu.
- Nowy język nie musi być bardzo różny od Loglanu. Nie widać powodów, które by uzasadniały rewolucję.
- Czego brakuje? Co warto wprowadzić?
- Brakuje narzędzi programowania równoległego. Tej sprawy nie mozna pozostawiać systemowi operacyjnemu. To byłby błąd.
(czerwiec 2018) Mam propozycję.
- Warto uprzadkować przekazywanie typu obiektowego jako parametru. Tu powinno wystarczyć zadeklarowanie, że parametr aktualny typ T ma byc podtypem typu Q. W ten sposób uzyskalibyśmy możliwość sprawdzenia typu aktualnego, a także otwieramy sobie drogę do korzystania z metod (wirtualnych) typu Q wewnątrz nowo deklarowanego modułu np. procedury ...
- Skoncentrować się na opisie semantyki (operacyjnej) tzn. zdefiniować precyzyjnie jak ma wyglądać obliczenie. Kiedy będzie zgłaszany błąd? etc.
- Składnia -- wyraźnie powiedzieć "pisz jak chcesz". Tzn. dać możliwość wybierania wariantu składni, a la Java lub a la Loglan. To nie jest najwazniejsze.
- Bardzo ważne: dodac tam gdzie to możliwe aksjomaty konstrukcji składniowych jako partnera dla opisu semantyki operacyjnej.
- Mniej ważne, ale ważne: stream zamiast file.
- Ważne: biblioteki klas - to jest narzędzie o zasadniczym znaczeniu
- Ważne: Partnerem dla Lema ma być proof-checker następca Mizara.
- Oprócz modułów process, zaproponujmy moduły server. Obiekt serwer może udostępniać swoje metody równolegle do swojego wątku. Metody te uruchamiane na rdzeniach procesora działaja równolegle. I oczywiscie mamy tu do czynienia z protokołem innym niż alien. Na razie - roboczo nazwijmy go alienB alien bis lub po prostu serve (zamiast call).
- Wprowadźmy tez alien zamiast call. Już jest raise zamiast call (dynamicznie szukamy handlera).
- Uwaga o funkcjach. Nieistotność definicji.