首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

铁定不纯的IO_Haskell笔记5

m () 所以如果用于I/O的话,第二个参数的返回类型只能是IO (),看起来不很方便,但很适合条件输出的场景,毕竟print等一系列输出函数都满足该类型 sequence sequence :: (Traversable...t, Monad m) => t (m a) -> m (t a) 这个类型声明看起来比较复杂: Traversable :: (* -> *) -> Constraint Monad :: (* -...> *) -> Constraint -- 找两个对应实例,List和IO instance Traversable [] -- Defined in ‘Data.Traversable’ instance...,形成List,再包进IO P.S.有点Promise.all的感觉,接受一组promise,返回一个新promise携带这组结果 mapM与mapM_ Control.Monad.mapM :: (Traversable...但丢弃结果,返回IO (),很适合print等不关心I/O Action结果的场景: > mapM_ print [1, 2, 2] 1 2 2 forM Control.Monad.forM :: (Traversable

1.3K30
领券