SW wykład 9 - Slajd16: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Tarlecki (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 2: Linia 2:


[[Grafika:sw0915.png|frame|center|]]
[[Grafika:sw0915.png|frame|center|]]
Można zresztą w wielu dobrze uzasadnionych przypadkach obyć się bez
dziedzin refleksywnych. Wymaga to jednak sporej dyscypliny w
projektowaniu opisywanych języków programowania. Z grubsza, spróbujmy
przyjąć, że mamy do czynienia z językami z dobrze zdefiniowanym
systemem finitarnych typów dla wszystkich pojęć i wartości, co
wyklucza samoaplikację w jakiejkolwiek postaci i wprowadza ścisła
hierarchię pojęć i ich semantycznych odpowiedników. Wówczas okaże się,
że w pełni wystarczająca jest "naiwna" wersja semantyki denotacyjnej,
gdzie dziedziny definiujemy jako zbiory łańcuchowo zupełne
wykorzystując wprowadzone wyżej operatory, a równania dziedzinowe
możemy rozwiązywać stosując przedstawioną wyżej technikę kolejnych
iteracji na dziedzinie "pustej" i sumując podane przybliżenia w
opisany sposób. Jest to możliwe, bo dla takich języków nie powinna
wystąpić konieczność definiowananie dziedzin tak, by rekurencyjne
zależności przebiegały poprzez sprawiający kłopoty operator budowania
dziedziny funkcyjnej.

Aktualna wersja na dzień 12:20, 2 paź 2006

<<powrót do strony wykładu

Dziedziny podstawowe Suma i produkt Suma spłaszczona i produkt spłaszczony Przestrzeń funkcji ciągłych Izomorfizm dziedzin Konstruowanie funkcji ciągłych Złożenie funkcji i indeksowanie Inne konstrukcje Operator punktu stałego Równania stałopunktowe Równania dziedzinowe Rekurencyjne równania dziedzinowe Rekurencyjne równania dziedzinowe Problemy Dziedziny refleksywne Rozwiązanie naiwne dziedziny Scotta

Można zresztą w wielu dobrze uzasadnionych przypadkach obyć się bez dziedzin refleksywnych. Wymaga to jednak sporej dyscypliny w projektowaniu opisywanych języków programowania. Z grubsza, spróbujmy przyjąć, że mamy do czynienia z językami z dobrze zdefiniowanym systemem finitarnych typów dla wszystkich pojęć i wartości, co wyklucza samoaplikację w jakiejkolwiek postaci i wprowadza ścisła hierarchię pojęć i ich semantycznych odpowiedników. Wówczas okaże się, że w pełni wystarczająca jest "naiwna" wersja semantyki denotacyjnej, gdzie dziedziny definiujemy jako zbiory łańcuchowo zupełne wykorzystując wprowadzone wyżej operatory, a równania dziedzinowe możemy rozwiązywać stosując przedstawioną wyżej technikę kolejnych iteracji na dziedzinie "pustej" i sumując podane przybliżenia w opisany sposób. Jest to możliwe, bo dla takich języków nie powinna wystąpić konieczność definiowananie dziedzin tak, by rekurencyjne zależności przebiegały poprzez sprawiający kłopoty operator budowania dziedziny funkcyjnej.