monads

monads

文章 0 浏览 7

Haskell 中 Monad 的结合性规则

(m >>= f) >>>= g = m >>= (\x -> fx >>= g) 与 f 和 \x->f x 有何不同? 我认为它们是同一类型 a -> m b。但方程右侧的第二个 >>= 似乎将 \x->f x 的…

江挽川 2024-12-18 23:44:05 4 0

Haskell(嵌套)ReaderT

如何访问 ReaderT 的内部 monad。 就我而言,我的类型是: newtype VCSSetupAction a = VCSSetupAction (ReaderT (Maybe VCSConf) IDEM a) deriving (…

生生漫 2024-12-18 12:36:16 2 0

折叠、函数组合、单子和惰性,天哪?

我很困惑。我可以这样写: import Control.Monad main = print $ head $ (foldr (.) id [f, g]) [3] where f = (1:) g = undefined 输出是1。这是有道…

醉态萌生 2024-12-18 00:31:20 5 0

我如何以惯用的方式组织我的纯函数和我的单子行为

我决定今天是修复一些在单子操作中不必要运行的纯函数的日子。这就是我所拥有的。 flagWorkDays :: [C.Day] -> Handler [WorkDay] flagWorkDays dayLi…

朦胧时间 2024-12-17 15:51:04 4 0

从分类角度来说,FP 中的 monad 是什么?

每当有人承诺“解释单子”时,我的兴趣就会被激起,但当所谓的“解释”是一长串例子时,我的兴趣就会被挫败感所取代,最后是一些即兴的评论,即“深奥…

以往的大感动 2024-12-17 11:25:41 6 0

我的递归列表构造有什么问题?

我已经简化了相关功能。我在 monad 内构建列表时遇到问题。我怀疑存在优先级问题。 newtype Boundary = MkBoundary Integer testFunc :: [Boundary] -…

风渺 2024-12-17 07:28:04 2 0

我应该避免使用 Monad 失败吗?

我对 Haskell 相当陌生,并且慢慢地意识到 Monad failure 的存在有问题。 Real World Haskell 警告不要使用它(“我们再次建议你几乎总是避免使用失败…

作业与我同在 2024-12-16 14:28:59 2 0

从 IO ExitCode monad 获取字符串

我试图将作为参数给出的字符串(使用 getArgs )连接到 haskell 程序,例如: "rm " ++ filename ++ " filename2.txt" 位于 main = do 块内。 问题出…

祁梦 2024-12-16 13:40:58 5 0

如何制作 StopExecutingWhenYouHaveAResultAndReturnThatResult monad

我特别需要一种反向 Maybe monad,当它处于“Nothing”状态时,它会继续尝试获取一个值,并保留它获取的第一个有效值。 我试图概述我在这里的意思: p…

〃温暖了心ぐ 2024-12-16 00:57:52 1 0

Haskell 中最快的错误单子是什么?

Maybe/Either monad 会显着减慢速度。使用一些延续单子来处理错误是否可以加快速度?是否有“内置延续单子”或“内置错误单子”之类的东西?我所说的…

×纯※雪 2024-12-16 00:38:51 2 0

ST monad 有特殊的编译器支持吗?

ST monad 在 GHC 中有特殊的编译器支持吗?…

浅笑轻吟梦一曲 2024-12-15 22:20:26 5 0

如何在 scala 中将这个未来/状态概念实现为 monad

我正在尝试为比赛(如体育比赛)结果实现一个容器,以便我可以在其他比赛的获胜者之间创建比赛。这个概念与未来 monad 很接近,因为它包含一个待定义…

泪眸﹌ 2024-12-15 17:55:15 2 0

如何在两个 monad 之间共享状态?

我遇到了以下 monad 问题: 假设我有一个标准 monad 状态,状态为 S = (LS, RS)。我还有另一个 monad: newtype StateP a = StateP {runP :: S -> (a,…

灼疼热情 2024-12-13 15:17:55 5 0

Monad 的脱糖注释

当我学习 Haskell 时,我意识到 do 表示法只是语法糖: a = do x <- [3..4] [1..2] return (x, 42) 翻译成 a = [3..4] >>= (\x -> [1..2] >>= (\_ -> …

谈情不如逗狗 2024-12-13 14:06:20 4 0

是否可以创建一个计算指令数量的 Monad?

想到 monad,我想到了用 monad 来打破冯·诺依曼架构的方法。冯·诺依曼架构使用一组指令(称为程序)来更改内存中的数据,程序的每条指令的执行都会更…

情痴 2024-12-13 07:51:52 2 0
更多

推荐作者

李珊平

文章 0 评论 0

Quxin

文章 0 评论 0

范无咎

文章 0 评论 0

github_ZOJ2N8YxBm

文章 0 评论 0

若言

文章 0 评论 0

南…巷孤猫

文章 0 评论 0

更多

友情链接

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