Przeczytałem trochę na temat semantyki denotacyjnej (DS) i jestem bardzo zaintrygowany procesem projektowania programów komputerowych, w których typy i funkcje mają silne i wyraźne odwzorowania na matematykę.
Czy są jakieś zasoby, które szczegółowo omawiają projektowanie programów opartych na DS? Widziałem kilka powierzchownych zabiegów na ten temat.
Jestem biegły w Haskell, Scali, Common Lisp i trochę Schematu, więc wszelkie zasoby korzystające z tych języków będą mile widziane.
Odpowiedzi:
Projekt denotacyjny ( projekt programu zakorzeniony i wywodzący się z semantyki denotacyjnej) jest moją podstawową metodologią. Kilka lat temu pisząc o FRP, jaśniej zrozumiałem, co robiłem. Zobacz programowanie reaktywne funkcjonalne Push-pull . Aby uzyskać bardziej precyzyjny opis paradygmatu i różne przykłady, zobacz Projektowanie denotacyjne z morfizmami klas typu . Kiedy uświadomiłem sobie ten wzór, zacząłem go szukać wszędzie. W przypadku niepowodzenia wiem, że mam wyciek abstrakcji. Wczesny, nieformalny opis znajduje się na blogu Luke'a Palmera w Semantic Design .
Zawsze jestem zainteresowany aplikacjami projektowania denotacyjnego, dlatego chciałbym usłyszeć o twoich poszukiwaniach.
źródło
Zastosowaliśmy semantykę denotacyjną do samego projektowania języka, argumentując, że projektowanie języków, w szczególności języków specyficznych dla domeny, powinno zaczynać się od definicji semantyki. Jeśli jesteś zainteresowany szczegółami, możesz rzucić okiem na Projektowanie DSL oparte na Semantics i Semantics Najpierw! Nowe spojrzenie na proces projektowania języka .
źródło