相关疑难解决方法(0)

使用Join()而不是Bind()的Monads

Monad通常用return和来解释bind.不过,我猜想你也可以实现bind在以下方面join(和fmap?)

在缺乏一流功能的编程语言中,使用起来bind非常难以捉摸.join另一方面,看起来很容易.

但是,我并不完全确定我理解它是如何join运作的.显然,它有[Haskell]类型

join :: Monad m => m (m x) -> m x

对于monad列表,这显然很简单concat.但是对于一般的monad来说,这种方法在操作上实际上做了什么?我看到它对类型签名的作用,但我试图弄清楚我是如何在Java或类似的东西中写出这样的东西.

(实际上,这很容易:我不会.因为仿制药已经坏了.;-)但原则问题仍然存在......)


哎呀.看起来之前有人问过:

Monad加入功能

可能有人勾画出使用普通的单子一些实现return,fmapjoin?(即,根本没有提到>>=.)我想也许这可能有助于它沉入我愚蠢的大脑......

monads haskell

62
推荐指数
6
解决办法
1万
查看次数

标签 统计

haskell ×1

monads ×1