首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一元杂质和Haskell纯度。它们是如何组合在一起的?

一元杂质和Haskell纯度。它们是如何组合在一起的?
EN

Stack Overflow用户
提问于 2013-01-10 18:31:12
回答 2查看 623关注 0票数 7

monad结构如何帮助保持纯度(在Haskell中),同时做不纯净的事情?例如,当你给出print "Hello"时,你是在执行纯代码还是不纯代码?这是一个非常微妙的细节,但有助于更好地理解函数式语言中纯净和不纯的概念。

EN

回答 2

Stack Overflow用户

发布于 2013-01-10 18:41:16

表达式

代码语言:javascript
复制
print "Hello"

确实是纯净的。因为它不打印任何东西,而是构造一些东西,在执行时打印"Hello“。

下面是一个类比:

一位和尚在一张纸上写道:

代码语言:javascript
复制
Go to a bordell and do filthy things with the prostitutes there.

我们能不能仅仅因为这个和尚写了通婚的指示,就指控他通婚呢?

票数 17
EN

Stack Overflow用户

发布于 2013-01-10 18:47:30

stackoverflow中的问题可能会回答您的问题:In what sense is the IO Monad pure?

简而言之,monad本身就是,但它可以发出不纯的指令。更具体地说,monads可以被视为一系列可组合的计算描述。这些计算中的一些可能是脏的(即有副作用),但描述本身是完全纯粹和干净的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14255775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档