Specyfikacja LEM: Różnice pomiędzy wersjami

Z Lem
Skocz do: nawigacji, wyszukiwania
(Utworzył nową stronę „ == Szkic specyfikacji projektu LEM == === Notatki -brulion === * zachować tyle ile można z gramatyki Loglanu'82. * wprowadzić moduły interface, specification,...”)
 
(Szkic specyfikacji projektu LEM)
 
(Nie pokazano 5 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 - dodatkowym warunkiem:
+
* 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 ===
Tu będzie spisana ''trawiasta'' wersja specyfikacji języka LEM.
+
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 Gipsowa ===
 +
 
 +
=== wersja Drewniana ===
 +
 
 +
=== Wersja ostateczna - '''Kamienna''' ===
 +
 
 +
 
 +
[[Category:LEM]]

Aktualna wersja na dzień 11:09, 31 sty 2018

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.
  1. Czy dojęzyka wprowadzic moduły specification? proof? etc. Nie wiem


wersja Gliniana

wersja Gipsowa

wersja Drewniana

Wersja ostateczna - Kamienna