Określenie „równoważność moralna” w (sformalizowane) logiki, a co za tym idzie, w programowaniu nie ma nic wspólnego z odwołania do moralności (jak w, etyczne lub pytania filozoficzne) . Kooptuje termin "moralnie", ale oznacza coś innego. Zazwyczaj ma to oznaczać "P hold, ale tylko w pewnych warunkach ubocznych". Warunki te są często pomijane, jeśli nie mają wartości edukacyjnej, są trywialne, techniczne i/lub nudne. W związku z tym linkowany artykuł o "równoważności moralnej" nie ma nic do zrobienia - nie ma tutaj żadnych wartościujących osądów.
Nie wiem zbyt wiele na temat Purescript, ale sposób, w jaki interpretuję stwierdzenie, o którym wspomniałeś: "możesz osiągnąć to samo z Aff
jako ErrorT (ContT Unit (Eff e)) a
."
Podać inny przykład: Załóżmy, że masz dwie funkcje i interesuje Cię tylko określony (może duży) podzbiór ich domen. Powiedzmy również, że te dwie funkcje zgadzają się w tych domenach, to znaczy, dla wszystkich x ∈ dom, f (x) = g (x). Ale dla przykładu, może robią coś innego na 0, ale nigdy nie przekażemy im 0 (ponieważ 0 narusza jakieś założenie). Można rozsądnie powiedzieć, że f i g "są moralnie równoważne".
Zwłaszcza w społeczności logiki istnieją inne zastosowania słowa "moralny", na przykład w wyrażeniu "dowód jest moralnie wątpliwy", co oznacza, że autor uważa, że dowód jest niedbały i że może mieć luki, ale technicznie naprawialne. W konkretnym przypadku, a mianowicie przeprowadzania dowodów na potencjalnie nie kończące się programy, wspomniana praca daje takie uzasadnienie, co jest powtórzone w tytule "Szybkie i luźne rozumowanie jest moralnie poprawne".
Wydaje się bardziej jak [programmers.se] mowa. – jonrsharpe
FWIW, po prostu upuść "moralny", a sens pozostaje taki sam. IMO, cała ta "moralność" to tylko moda na FP; patrz http://rationalwiki.org/wiki/Moral_equivalence itd. – vaxquis
"Równoważność moralna" może być uważana mniej więcej za tę samą zasadę, co kaczkowanie-pisanie następuje ... Jeśli chodzi jak kaczka, mówi jak kaczka i znachorów jak kaczka, to musi być kaczka.Jest to inny sposób powiedzenia: "dopóki wynik końcowy jest taki sam (otrzymuję ten sam wynik przy konkretnym wprowadzeniu), nie obchodzi mnie, co dzieje się pod maską". –