腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
围绕
IO
创建
包装
器
Monad
haskell
、
io
、
monads
假设我想
创建
一个
包装
Monad
,它接受一个
IO
Action,并按如下方式
包装
它。序列运算符(>>)工作得很好,但我在实现return和>>=时遇到了困难。newtype DelayedAction a = DelayedAction {action ::
IO
a} fmap= liftM pur
浏览 12
提问于2020-12-16
得票数 2
1
回答
在纯代码中避免IORefs
haskell
、
data-structures
、
monads
、
union-find
、
ioref
我注意到通过IORefs使用
IO
monad
来提供指针。我想,在纯代码中本地使用unsafePerformIO时,每个人都会愉快地调用它,因为数据结构是如此容易理解,但是..也许是一个
围绕
IO
的
包装
器
,通过禁止大多数
IO
操作来减少不可避免的unsafePerformIO的不安全“外观”?
浏览 10
提问于2012-04-24
得票数 25
回答已采纳
3
回答
当一个通用类型不是单一类型的时候?
haskell
、
monads
Haskell允许
围绕
另一个类型定义一个新类型,从而
创建
一个。这些新类型将具有相关的函数,知道
包装
的“基”类型实际上是一个Int。更进一步,是通过在data子句中使用“类型参数”来
创建
“泛型”类型,就像著名的
monad
:data Maybe t = Nothing | Just t中一样。这类泛型类型将被广泛的函数使用,并用于寻址,即:异常:可能,全局状态:状态,输入/输出:
IO
,非确定性:[],环境:读取
器
,记录
器
:编写
器</em
浏览 2
提问于2013-12-10
得票数 2
回答已采纳
1
回答
创建
haskell
IO
包装
器
haskell
、
io-monad
在FFI的GHC手册一节中提到,程序员可以使用newtype在
IO
monad
周围
创建
一个
包装
器
monad
,并在调用外部代码时使用它来代替
IO
monad
。(GHC manual) 到目前为止,我已经做到了: newtype PGm a = PGm (
IO
a) (>>=) a b = ...
浏览 15
提问于2019-02-25
得票数 4
1
回答
如何在不溢出堆栈的情况下将
IO
与Scalaz7迭代
器
一起使用?
scala
、
scalaz
、
iterate
、
scalaz7
一些搜索结果表明,可以通过使用Trampoline
monad
而不是
IO
来避免异常,但这似乎不是一个很好的解决方案-牺牲功能纯度来完成程序。解决这个问题的明显方法是使用
IO
或Trampoline作为
Monad
Transformer来
包装
另一个,但我找不到它们的transformer版本的实现,而且我也不是一个知道如何编写自己的函数式编程大师(了解更多关于FP的信息是本项目的目的之一,但我怀疑
创建
新的
monad
transformer目前有点超出我的水平)。我想我可以<
浏览 3
提问于2013-04-22
得票数 11
回答已采纳
3
回答
如何将ByteString值转换为JSVal
haskell
、
ghcjs
、
ghcjs-dom
GHCJS.DOM.JSFFI.Generated.CanvasRenderingContext2D中,有具有以下类型的函数putImageData: Control.
Monad
.
IO
.Class.MonadIO此类型在模块GHCJS.DOM.Types中定义为
围绕
JSVal值的新类型
包装
器
: newtype ImageData = ImageData {unImageData :: GHCJS.Prim.JSVal
浏览 1
提问于2017-04-23
得票数 4
回答已采纳
1
回答
有没有办法捕获scotty中的所有异常,而不将所有代码
包装
在异常捕获中
haskell
、
scotty
、
wai
我希望我的默认处理程序能够捕获我的应用程序抛出的所有异常,但为了实现这一点,我需要在手动添加一些
围绕
IO
代码的异常捕获后手动调用raise。下面是一个最小服务
器
的例子:{-# LANGUAGE GeneralizedNewtypeDeriving #-}import Control.
Monad
.Catch import Control.
Monad
浏览 22
提问于2020-02-04
得票数 0
2
回答
这个
Monad
Stack函数的名称是什么?
haskell
、
monads
、
monad-transformers
、
state-monad
我在State
monad
中有一堆有状态的函数。在程序中的某一点上,需要一些
IO
操作,所以我将
IO
包装
在一个StateT中,获得了一对这样的类型:toplevel :: StateTSometype
IO
a 为了简单起见,我不想将
IO
上下文传递到主函数组中,并且我希望避免将它们
包装
在
monad
堆栈类型中。相反,我希望将StateT
monad
中的状态转换为stat
浏览 1
提问于2011-05-12
得票数 7
回答已采纳
1
回答
避免在无标记的终端机式DSL中
包装
单板。
haskell
、
monads
、
dsl
在所有实现中,类型m都是单一的,可以是
IO
,也可以是某个网络库提供的,或者是其他一些自制的
monad
。下面是
IO
中的一个实现import Control.
Monad
(void) mkdir "test" 可以在
IO
monad</e
浏览 2
提问于2019-10-14
得票数 2
1
回答
如何在StateT中使用Haskell?
haskell
、
monad-transformers
、
state-monad
] }newtype SomeListStateT a = SomeListStateT } deriving (Functor, Applicative,
Monad
, MonadIO)不幸的是,文档并不那么容易理解() 任何帮助都
浏览 8
提问于2021-10-26
得票数 0
3
回答
为什么
包装
IO
会导致
IO
Monad
haskell
、
monads
在Haskell中,我们有一个函数readFile :: FilePath ->
IO
String。我理解
monad
的问题是,为什么要用
IO
包装
它?难道我们就不能有这样的写函数吗?(lines.readFile) path(readFile >>= lines) path
IO
包装
器
有什么好处?
浏览 5
提问于2016-12-12
得票数 2
3
回答
Haskell中的组合
器
是什么
haskell
、
combinators
然后,他们声明maybeIO函数是一个组合
器
,其类型签名如下所示:但我所能看到的是,maybeIO是一个函数,它接受一个以
IO
monad
包装
的值,并在
IO
monad
中返回一个值。那么这个函数是如何变成一个组合
器
的呢?
浏览 4
提问于2013-11-17
得票数 13
回答已采纳
1
回答
Haskell:测试web API
testing
、
haskell
、
web
我想出了我自己的简单组合,在测试之前启动一个web服务
器
(warp),提供预先记录的响应,但我必须将应用程序中的所有URL指向"localhost“。我认为,这并不总是可以替换应用程序中的所有URL。
浏览 0
提问于2012-09-14
得票数 7
回答已采纳
1
回答
处理程序和单子
haskell
、
monads
、
monad-transformers
、
servant
我在努力写的和
Monad
data Configuration p :: * initPersistence :: p () app :: P.Persist p => p (Applicati
浏览 1
提问于2019-11-25
得票数 1
回答已采纳
1
回答
包含“`runST`”的函数的类型签名
haskell
我可以写这样的东西:x = undefined 这将很高兴地在没有所以我尝试过类似的方法:g = undefined 然而,如果没有签名,这是无法编译的。首先,我有一个在中工作的函数(例如ST或
IO
)。它在向量上做了很多操作。我正在为它
创建
一个纯
包
浏览 0
提问于2016-12-21
得票数 0
回答已采纳
1
回答
函数式编程:副作用实际上在哪里发生?
haskell
、
io
、
functional-programming
、
monads
、
side-effects
我知道要执行
IO
操作,您必须使用一个"
IO
monad
“,它将一个值
包装
在某种”黑匣子“中,所以使用
IO
monad
的任何函数仍然是纯功能的。好吧,好吧,但是
IO
操作在哪里发生呢?这是否意味着
Monad
本身并不是纯功能性的?或者
IO
操作是否实现了,比如说在C中,以及Haskell编译
器
中的“嵌入”?我是否可以用纯Haskell写一些可以执行
IO
操作的东西,不管有没有
Monad</e
浏览 3
提问于2017-01-24
得票数 3
回答已采纳
1
回答
组合
IO
操作时的怪异类型签名
haskell
、
types
、
io
、
monads
]但是在FP完成时,它会产生一个错误:(除非我切换到GHC 7.8 Preview,LPaste用于克隆)In the expression: return 3这是密码。我试图
创建
一个重复
IO
操作的函数,时间为
IO
Int操作。我
浏览 1
提问于2014-07-25
得票数 1
回答已采纳
5
回答
了解Haskell中的$
haskell
、
monads
、
monad-transformers
我很难理解下面的代码(在
IO
之上的ErrorT
monad
中执行): closePort [Port port] = liftIO $ hClose port >> (return $ Bool True那么,是先将Bool True
包装
在
IO
中,然后再使用liftIO提升,还是先提升hClose?换句话说,>>和return是在
IO
monad
中执行还是在ErrorT
monad
中执行?
浏览 0
提问于2012-03-27
得票数 2
1
回答
如何在ReaderT上对简单的新型
包装
器使用单控件
haskell
、
monad-transformers
我定义了一个简单的
monad
转换
器
,EntityBuilderT,它只是ReaderT上的一个新类型。为了在一个新的“环境”中
包装
一个函数,我编写了以下在某些情况下,我还想构建一个更大的转换
器
堆栈。因此,我尝试使用
monad
-control编写这种组合
器
的新版本。 我到目前为止
浏览 2
提问于2012-02-05
得票数 1
1
回答
haskell如何在ExceptT中捕获调用异常的throwIO
haskell
当使用
monad
transformer ExceptT
包装
IO
Monad
时。然后在内部
IO
monad
中使用throwIO e,例如:新类型HandlerT e a= HandlerT{ runHandlerT ::ExceptT e (ReaderT (
IO
a)) } 然后在内部
IO
monad
中请求访问不存在的网站时,
浏览 1
提问于2017-11-08
得票数 1
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
让Monad来得更猛烈些吧
这些电子书新上架
如何在JavaScript中处理null和undefined?
Python爬虫之异步IO
学习JAVA开发入门主要学习哪些内容
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券