LEM: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
 
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 możliwośc sprawdzenia typu aktualnego, a także otwieramy sobie drogę do korzystania z metod (wirtualnych) typu Q wewnątrz nowodeklarowanego modułu np. procedury ...
+
(czerwiec 2018) Mam propozycję.
* Skoncentrować się na opise semantyki (operacyjnej) tzn. zdefiniować precyzyjnie jak ma wyglądać obliczenie. Kiedy będzie zgłaszany błąd? ec.
+
** 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 powiedziec "pisz jak chcesz". Tzn. dać możliwość wybierania wariantu składni, a la Java lub a la Loglan. To nie jest najwazniejsze.
+
* 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.
* Wazne: biblioteki klas - to jest narzędzie o zasadniczym znaczeniu
+
* Ważne: biblioteki klas - to jest narzędzie o zasadniczym znaczeniu
* Wazne: Partnerem dla Lema ma być proof-checker następca Mizara.
+
* 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. Juz jest raise zamiast call (dymaicznie).
+
* 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.