Specyfikacja LEM: Różnice pomiędzy wersjami
Z Lem
(→Szkic specyfikacji projektu LEM) |
|||
(Nie pokazano 4 pośrednich wersji utworzonych przez tego samego użytkownika) | |||
Linia 1: | Linia 1: | ||
== Szkic specyfikacji projektu LEM == | == Szkic specyfikacji projektu LEM == | ||
− | + | Główne założenie projektu LEM: '''język ma służyć do komunikacji pomiędzy ludźmi'''. | |
+ | Programy mają być czytelne i łatwe w obróbce zautomatyzowanej: kompilator, proof-checker, ... | ||
=== Notatki -brulion === | === Notatki -brulion === | ||
− | * zachować tyle ile można z gramatyki Loglanu'82. | + | * zachować tyle ile można z gramatyki Loglanu'82. ale uwzględni |
* wprowadzić moduły interface, specification, verification (z myślą o projekcie SpecVer). | * wprowadzić moduły interface, specification, verification (z myślą o projekcie SpecVer). | ||
− | * jakoś zdefiniować bibliotekę(i) klas i procedur. | + | * jakoś zdefiniować bibliotekę(i) klas i procedur - tego brakuje w Loglanie'82.. |
− | * zezwolić na przekazywanie typu jako parametru | + | * zezwolić na przekazywanie typu jako parametru z dodatkowym warunkiem: typ przekazywany jako parametr aktualny ma być podtypem typu T wymienionego jako parametr formalny w deklaracji procedury. |
− | typ przekazywany jako parametr aktualny ma być podtypem typu T wymienionego jako parametr formalny w deklaracji procedury | + | * zachować czy zmodyfikować sygnalizacje wyjątków i ich obsługę? |
− | + | ||
=== Pierwsza wersja specyfikacji - Trawiasta === | === Pierwsza wersja specyfikacji - Trawiasta === | ||
− | + | Zachować Loglan gdzie to możliwe. | |
+ | * wprowadzić operator '''copy''' do wyrażeń obiektowych, | ||
+ | * wprowadzić nazwy protokołów np. call, raise, alien, serve, | ||
+ | call - wywołanie metody, raise - zgłoszenie sygnału, alien - obce wołanie metody w procesie, serve - wywołanie usługi w serwerze usług | ||
+ | * new, newarray, newprocess - tak to powinno wyglądać, ale dopuśćmy skróty tj. new | ||
+ | * prrzekazywanie typu jako parametru? TAK! Ale koniecznie trzeba dopuścić by parametrem aktualnym mógł byc podtyp typu wskazanego w nagłówku modułu jako typ formalny | ||
+ | * uporządkować koncepcję biblioteki modułów | ||
+ | * itd. | ||
+ | |||
+ | # Czy dojęzyka wprowadzic moduły specification? proof? etc. Nie wiem | ||
+ | |||
+ | |||
=== wersja Gliniana === | === wersja Gliniana === | ||
Linia 21: | Linia 32: | ||
=== Wersja ostateczna - '''Kamienna''' === | === Wersja ostateczna - '''Kamienna''' === | ||
+ | |||
+ | |||
+ | [[Category:LEM]] |
Aktualna wersja na dzień 11:09, 31 sty 2018
Spis treści
Szkic specyfikacji projektu LEM
Główne założenie projektu LEM: język ma służyć do komunikacji pomiędzy ludźmi. Programy mają być czytelne i łatwe w obróbce zautomatyzowanej: kompilator, proof-checker, ...
Notatki -brulion
- zachować tyle ile można z gramatyki Loglanu'82. ale uwzględni
- wprowadzić moduły interface, specification, verification (z myślą o projekcie SpecVer).
- jakoś zdefiniować bibliotekę(i) klas i procedur - tego brakuje w Loglanie'82..
- zezwolić na przekazywanie typu jako parametru z dodatkowym warunkiem: typ przekazywany jako parametr aktualny ma być podtypem typu T wymienionego jako parametr formalny w deklaracji procedury.
- zachować czy zmodyfikować sygnalizacje wyjątków i ich obsługę?
Pierwsza wersja specyfikacji - Trawiasta
Zachować Loglan gdzie to możliwe.
- wprowadzić operator copy do wyrażeń obiektowych,
- wprowadzić nazwy protokołów np. call, raise, alien, serve,
call - wywołanie metody, raise - zgłoszenie sygnału, alien - obce wołanie metody w procesie, serve - wywołanie usługi w serwerze usług
- new, newarray, newprocess - tak to powinno wyglądać, ale dopuśćmy skróty tj. new
- prrzekazywanie typu jako parametru? TAK! Ale koniecznie trzeba dopuścić by parametrem aktualnym mógł byc podtyp typu wskazanego w nagłówku modułu jako typ formalny
- uporządkować koncepcję biblioteki modułów
- itd.
- Czy dojęzyka wprowadzic moduły specification? proof? etc. Nie wiem