Подтвердить что ты не робот

Что означают функциональные программисты под "моральным"?

Я заметил, что слово "мораль" продолжает развиваться в контексте функционального программирования. Несколько примеров:

Я не знаком с этими обычаями этого слова. Я могу в основном вывести то, что они пытаются сказать, но можем ли мы уточнить, что это значит?

(Перекрестная ссылка на Английский язык и использование)

4b9b3361

Ответ 1

Термин "нравственная эквивалентность" в (формализованной) логике и, в дополнение, к программированию не имеет ничего общего с призывом к морали (как в этических или философских вопросах). Он кооптирует термин "морально", но означает что-то другое. Обычно это означает, что "P имеет место, но только при определенных побочных условиях". Эти условия часто опускаются, если они не имеют образовательной ценности, являются тривиальными, техническими и/или скучными. Следовательно, связанная статья о "моральной эквивалентности" не имеет ничего общего - здесь нет оценочных суждений.

Я не знаю много о Purescript, но так, как я бы интерпретировал выражение, которое вы упомянули как "вы можете достичь того же с Aff как ErrorT (ContT Unit (Eff e)) a."

Чтобы дать еще один пример: скажем, у вас есть две функции, и вас интересует только конкретный (возможно большой) подмножество их доменов. Пусть также говорят, что эти две функции согласуются в этих областях, т.е. Для всех x ∈ dom, f (x) = g (x). Но ради примера, может быть, они делают что-то другое на 0, но вы никогда не пропустите 0 в них (потому что 0 нарушает некоторые предположения). Можно разумно сказать, что f и g "морально эквивалентны".

Особенно в сообществе логики существуют и другие виды использования "моральных", например, в фразе "доказательство морально сомнительно", а это означает, что автор считает, что доказательство является неаккуратным и что оно может иметь пробелы, но технически исправляемый. В конкретном случае, а именно, при проведении доказательств о потенциально не оканчивающихся программах, упомянутая вами статья дает такое оправдание, которое отражено в названии "Быстрое и свободное рассуждение является морально правильным".

Ответ 2

Как отмечает Конор Макбрайд в twitter, это использование связано с сообществом теории категорий, которое очень сильно вдохновляет на fp.

https://twitter.com/pigworker/status/739971825128607744

У Евгении Ченг есть хорошая статья, описывающая понятие морали, используемое в математике.

http://www.cheng.staff.shef.ac.uk/morality/morality.pdf