从 Continuation monad 内的 IO monad 转义
一个令人困惑的问题的令人困惑的标题!我理解 a) monad,b) IO monad,c) Cont monad (Control.Monad.Cont), 和 d) ContT 延续变压器单子。 (一般来…
Haskell Monadic 形式
一个简单的问题: 给定定义,(来自 Haskell SOE) do x — el; el\ ...; en => el »= \x — do e2\ ...; en 并且: do let decllist; el\...; en => …
Applicative IO 是基于 Monad IO 的函数实现的吗?
在“为大善而学 Haskell!”作者声称 Applicative IO 实例是这样实现的: instance Applicative IO where pure = return a b = do f <- a x <- b retu…
Hoopl 中重写函数内的单子效应示例?
Hoopl 中的(前向)重写函数的类型由 mkFRewrite 函数: mkFRewrite :: (FuelMonad m) => (forall e x. n e x -> f -> m (Maybe (hoopl-3.8.6.1:Compi…
Haskell 单子 IO
compute fp = do text <- readFile fp let (a,b) = sth text let x = data b --g <- x putStr $ print_matrix $ fst $ head $ x 当我只获得第一个元素…
为什么不使用 IO Unique Show 的实例以及如何查看它是什么?
我正在尝试在 Haskell 中使用 Data.Unique 。 newUnique 可以生成一个对象,但我想看看它是什么。我怎样才能做到这一点?…
来自 C ++ Haskell 类和状态
我必须将这个 C++ 代码转换 class A { public: int x_A; void setX_A (int newx) { x_A = newx; } void printX_A() { printf("x_A is %d", x_A); } };…
如何将自由单子转换为函子?
Haskell wiki 上的 自由结构 页面定义了一个将函子实例转换为自由 monad 的函数: inj :: Functor f => f a -> Free f a inj fa = Roll $ fmap Return…
可表示函子同构于 (Bool -> a)
我想我会尝试有趣的 Representable-functors 包为给定的函子定义 Monad 和 Comonad 实例data Pair a = Pair a a,用Bool表示;正如我之前关于向量 mon…
Haskell 中的递归 IO
在 Haskell 中,我可以轻松定义一个递归函数,它接受一个值并返回一个字符串: Prelude> let countdown i = if (i > 0) then (show i) ++ countdown (…
HappStack 中的 Haskell Monads msum
来自 http://happstack.com/docs/crashcourse/HappstackState.html 当我运行时服务器, 时窥视2时,窥视计数器增加1 当我不窥视 有问题的相关代码是:…
读取任意数量的二进制消息
我正在使用 Binary.Get 从文件中解析二进制数据,并得到如下内容: data FileMessageHeaders = FileMessageHeaders [FileMessageHeader] data FileMes…
通过 monad 访问配置参数?
引用自此处: http://www.haskell.org/haskellwiki/Global_variables 如果你有一个全球环境, 各种函数从中读取(和 例如,您可以初始化 来自配置文件…
如何通过隐藏“状态”来编写没有 IO 类型 sig 的 haskell 函数变化
I wrote a function in haskell that takes a few parameters like Word32, String (ignore currying) and outputs IO Word32. Now, this is a functi…