作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
序列的签名是
sequence :: Monad m => t (m a) -> m (t a)
sequence = traverse id
m
只是
Applicative
.如果 monad 是应用程序,那么为什么还要在类型级别上有这个约束呢?
最佳答案
Haskell 中有许多相同但不同的函数,因为 Applicative
(resp. Functor
)曾经不是 Monad
的父类(super class).例如:
return
与 pure
ap
与 <*>
liftM
与 liftA
与 fmap
liftM2
, liftM3
, &C。与 liftA2
, liftA3
, &C。 mapM
/forM
与 traverse
/for
mapM_
/forM_
与 traverse_
/for_
sequence
与 sequenceA
mzero
& mplus
(来自 MonadPlus
)与 empty
& <|>
(来自 Alternative
)Monad
签名仍然存在,但在新代码中,因为
Applicative–Monad Proposal (AMP)已实现,您可以随时使用
Applicative
版本,因为它们更通用——也就是说,您可以随时替换
return
与
pure
,但反之亦然。
关于haskell - 如果 applicative 就足够了,为什么序列需要 monad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55486718/
对于我的问题,我找不到更好的措辞。 在我的应用程序中的某个时刻,我设置了一些非常密集的动画。问题是,在高端设备上,动画运行流畅且赏心悦目。另一方面,我测试过的一台低端设备在制作动画时表现非常糟糕。 试
我正在修补 OTP 模块 ( yubico_pam ),并尝试访问管理员选择的控制标志(例如必需,足够, ETC)。 有什么想法吗?这是否可行(无需解析文件)? 最佳答案 无法在 API 中查询此信息
我有一些为 Linux 编写的 C 代码,依赖于套接字和 arpa/inet.h 以及 libusb.h,我想在 MinGW 下为 Windows 编译它。 (请注意,当前项目只有一个非常简单的 Ma
我是一名优秀的程序员,十分优秀!