monads

monads

文章 0 浏览 7

“确实” Haskell 中的惰性 IO

考虑片段 - getLine >>= \_ -> getLine >>= putStr 它做了合理的事情,两次请求字符串,然后打印最后一个输入。因为编译器无法知道 getLine 有什么外…

满地尘埃落定 2024-12-01 21:26:35 3 0

何时使用 Haskell monad

我正在 Haskell 中实现一种组合优化算法: Given an initial candidate solution, repeat until stopping criteria are met: 1. Determine possible m…

花开半夏魅人心 2024-11-30 13:10:29 2 0

这种类似 monad 的函数式编程模式的名称是什么?

我偶尔会在代码中遇到类似于 monad 的模式,但是 不能在 >>= 之间保持一致的类型。 这是我能想到的最简单的例子:( 首先是一些类型级布尔值 data TyT…

笑看君怀她人 2024-11-30 12:11:52 5 0

Haskell 随机数生成

在 Haskell 中处理随机数生成的最佳方法是什么(或者有什么权衡)? 我还没有看到真正权威的答案。 考虑:尽量减少对纯函数的影响、如何/何时播种、性…

半暖夏伤 2024-11-30 06:31:30 1 0

跟踪 ST monad 中函数之间的多个引用的好方法吗?

我正在编写一些代码(Metropolis-Hastings MCMC 采样器),它将使用随机数生成器,并基于此修改数组和可能的其他结构。 我最初的想法是使用 ST monad…

无边思念无边月 2024-11-28 15:06:05 5 0

ArrowLoop 是如何工作的?另外,mfix?

我现在对箭头机械的其余部分相当满意,但我不明白循环是如何工作的。这对我来说似乎很神奇,但这不利于我的理解。我也很难理解 mfix。当我查看在 proc…

听闻余生 2024-11-28 03:38:30 3 0

在haskell中处理IO值

我正在 Haskell 中编写一个带有 IO 操作的小程序 正如 module StackQuestion where import Data.Map (Map, insert, fromList) type Name = String typ…

标点 2024-11-27 12:07:36 4 0

for..else 对于 Scala 中的选项类型?

假设我有两个选项,如果都是 Some,则执行一个代码路径,如果有注释,则执行另一个。我想做一些类似于 for (x <- xMaybe; y <- yMaybe) { // do somet…

思念绕指尖 2024-11-27 08:17:58 9 0

Haskell:是否有比 MArray 更通用的键/值存储类?

我不确定我是否低估了 MArray 与否,但对于我实现的许多算法来说,我关心的是我有一些用于存储键/值对的数据结构。显然,数据结构的选择会影响性能,…

听你说爱我 2024-11-26 21:30:10 4 0

Monads:seq 和 >>= 之间有什么区别?

有什么区别? seq 能否保证更多的流动条件?…

乖乖 2024-11-26 15:24:03 5 0

在 Haskell 中管理有状态计算系统

因此,我有一个链接在一起的有状态处理器系统。例如,处理器可能会输出最后 10 个输入的平均值。它需要状态来计算这个平均值。 我想向系统提交值并获…

橘和柠 2024-11-26 14:42:12 4 0

Haskell——双重性格 IO/ST monad?

我有一些代码当前使用 ST monad 进行评估。我不喜欢到处都放置 IO,因为 runST 方法会产生纯结果,并表明这样的结果可以安全调用(与 unsafePerformIO…

森林迷了鹿 2024-11-26 09:22:48 9 0

二叉树的 Monad 实例

我构建了二叉树: data Tree a = Empty | Node a (Tree a) (Tree a) deriving (Eq, Ord, Read, Show) 如何为这棵树制作 Monad 类型类实例?我可以不做…

坠似风落 2024-11-25 19:04:02 0 0

Haskell 将 Hom Functor/Monad 称为什么?

我想在我的代码中使用它,并且不想重复它,但由于它只涉及大量通用单词,如“函数”或“组合”,我无法通过搜索找到它。 完全具体地说,我正在寻找 in…

青春有你 2024-11-23 23:58:32 8 0

mapMonadTrans :: MonadTrans xT => (ma→nb)→ xTma-> xTnb

问题是这样的。我有: f :: MonadIO m => ReaderT FooBar m Answer; f = (liftIO getArgs) >>= ... 我需要使用修改后的参数来运行它。然而,由于 m 未…

一瞬间的火花 2024-11-18 22:00:18 9 0
更多

推荐作者

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文