SW wykład 9 - Slajd16: Różnice pomiędzy wersjami
Nie podano opisu zmian |
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
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.