【发布时间】:2015-11-08 16:55:33
【问题描述】:
我一直在探索folktale 库,发现了很多有用的构造。通过control.async 和data.task 使用Tasks 后,我想使用一个IO monad,但似乎找不到它。鉴于民间故事如此丰富,我很惊讶,想知道我是否只是没有看到它。
民间故事中有 IO monad 吗?
【问题讨论】:
-
Task Error a不等于IO a吗?你到底错过了什么? -
@Bergi - 如果我错了,请纠正我 -
Task不是用于异步任务吗?即task.fork(reject, resolve)?我认为IO对于同步任务(任何会导致副作用的事情)会更方便,使用io.runIO()调用。 -
呃,我认为 IO 在 JS 中本质上是异步的,并且非常渴望,它只是在没有任何
runIO的情况下运行并导致其副作用。所以你只是在寻找Statemonad? -
IO monad from monet.js 是另一个很好的例子。是的,我当然可以使用它。我只是想知道民间故事是否已经可以实现。
-
@Bergi:想了一会儿,我认为您对
Task的看法是正确的。不是完全我正在寻找的东西,但很容易达到IO的目的。我认为他们倾向于将相同的构造用于稍微不同的目的,而不是使用太多相似的构造。谢谢!
标签: javascript functional-programming folktale