Functional programming “函数式程序员”是什么意思;道德的;?
我注意到“道德”这个词在函数式编程环境中不断出现。举几个例子:Functional programming “函数式程序员”是什么意思;道德的;?,functional-programming,terminology,Functional Programming,Terminology,我注意到“道德”这个词在函数式编程环境中不断出现。举几个例子: Purescript文档: 这在道德上等同于error(ContT Unit(Eff e))a 我不熟悉这个词的这些用法。我基本上可以推断出他们想说什么,但我们能更准确地阐明这意味着什么吗 (交叉发布)在(形式化的)逻辑中,以及从广义上讲,在编程中,“道德等价”一词与诉诸道德无关(如在道德或哲学问题中)。它是对“道德”一词的增选,但其含义有所不同。一般认为它的意思是“P保持,但仅在某些附加条件下”。如果这些条件没有教育价值,
- Purescript文档:
这在道德上等同于
error(ContT Unit(Eff e))a
Aff
实现与error(ContT Unit(Eff e))a
相同的事情”
再举一个例子:假设你有两个函数,你只对它们域的一个特定的子集感兴趣。我们还假设这两个函数在这些域上是一致的,也就是说,对于所有x∈ dom,f(x)=g(x)。但出于示例的考虑,可能他们对0做了一些不同的操作,但您永远不会将0传递给他们(因为0违反了某些假设)。有人可以合理地说f和g“在道德上是等价的”
特别是在逻辑学界,“道德”还有其他用法,例如“证明在道德上是有问题的”,这意味着作者认为证明是草率的,可能有漏洞,但在技术上是可以修正的。在一个特定的案例中,即对潜在的非终止程序进行证明,你提到的论文给出了这样一个理由,这在标题“快速和松散的推理在道德上是正确的”中得到了呼应。正如Conor McBride在推特上指出的那样,这种用法源于范畴理论社区,这在fp中启发了很多 Eugenia Cheng有一篇很好的论文描述了数学中使用的道德概念
这似乎更像是一个问题。FWIW,只要去掉“道德”这个词,感觉就会保持不变。在我看来,所有这些“道德性”只是一种时尚;参见等等,“道德对等”或多或少可以被认为是鸭子打字所遵循的相同原则。。。如果它走路像鸭子,说话像鸭子,嘎嘎叫像鸭子,那么它一定是鸭子。这是另一种说法,“只要最终结果是一样的(我在给定特定输入的情况下得到相同的输出),我真的不在乎引擎盖下会发生什么。”我投票结束这个问题,因为它是关于英语的,而不是编程——这个术语并不局限于函数式编程。你可能会更幸运。@Bergi正如你在答案中所看到的,道德这个术语在数学/编程中有特定的含义。