繁体   English   中英

在Haskell中键入`a-> mb`是什么意思?

[英]What mean type `a -> m b` in Haskell?

示例-Haskell基本模块中的功能runKleisli

newtype Kleisli m a b = Kleisli { runKleisli :: a -> m b }

这意味着runKleisli具有1个类型为a参数,并且必须返回具有1个参数b函数m

这意味着m是一种类型的 * -> * ; 也就是说, m是一个接受单个参数的类型构造函数,例如MaybeEither String 当实例化Kleisli并自己执行替换时,您可以看到它是如何工作的。

例如,考虑类似Kleisli Maybe String Integer东西。 runKleisli的替换类型为runKleisli String -> Maybe Integer ,您可以看到m是如何用作类型构造函数的。

有关Haskell中种类的更多信息,请参见Haskell中种类“ *”到底是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM