Haskell前奏函数可以简化为一组核心函数吗?

时间:2015-12-02 15:54:46

标签: haskell functional-programming

Haskell前置函数是否可以简化为一组核心函数,以便可以根据核心集定义所有其他函数?如果是这样,核心功能是什么?

1 个答案:

答案 0 :(得分:5)

我刚刚浏览了关于Hackage的Prelude文档。我无法想象在“朴实无华”的Haskell中实现的仅有的两个操作是errorseq。在error的情况下,我甚至可以想象使用正确的指称语义在朴素的Haskell中实现某些东西,但是它没有共享打印到控制台的操作语义。

当然需要在IO操作的执行引擎和IO操作的实现之间进行一些合作,但是操作本身可以合理地在未经修饰的Haskell中实现,例如,与前奏中的行动一起免费使用monad。

这样一个微小的核心是可能的,这不足为奇;毕竟,即使是无聊的旧lambda演算也可以模仿各种有趣的数据类型。