monad-transformers

monad-transformers

文章 0 浏览 4

在 snap 中使用 reader monad(或者在 snap 中使用 monad 转换器)

有人可以展示如何在 reader monad 中使用 snap monad 吗? Monad 转换器让我很困惑。 (或者,我很乐意接受关于 monad 转换器的教程建议,以及如何看…

酒解孤独 2024-10-16 06:50:23 8 0

Haskell 最佳实践:在 Haskeline 中提前终止

我正在使用 Haskeline 包,我想从命令行连续获取三个字符串在我做任何事情之前,我已经想出了对我来说似乎是一个巧妙的解决方案。但我确信可能有更好…

请叫√我孤独 2024-10-13 06:45:19 9 0

将函数包装到 monad 转换器中是否/应该被视为不好的做法?

假设我们想要在 Maybe monad 上使用 ReaderT [(a,b)],然后我们想要在列表中进行查找。 现在,一个简单且不太罕见的方法是: 第一种可能性 find a = R…

只是偏爱你 2024-10-05 09:47:35 10 0

monad 转换器上下文中的 Monad

我很难掌握 monad 和 monad 转换器。我有 以下人为示例(不可编译): import Control.Monad import Control.Monad.Error import Control.Monad.Reade…

浅浅淡淡 2024-10-02 20:27:54 6 0

结合 StateT 和 State monad

假设我有一个函数 f :: State [Int] Int 和一个函数: g :: StateT [Int] IO Int 我想在 g 中使用 f 并在它们之间传递状态。有没有库函数 StateT(返…

愚人国度 2024-10-01 06:22:11 13 0

如何编写一个可以进行错误处理的状态单子?

我需要编写一个也可以支持错误处理的状态单子。我正在考虑使用 Either monad 来实现此目的,因为它还可以提供有关导致错误的原因的详细信息。我使用 M…

<逆流佳人身旁 2024-09-30 04:04:13 11 0

为什么我的代码使用 List 包中的一元列表如此慢?

上周,用户 Masse 提出了一个关于在 Haskell 目录中递归列出文件的问题。我的第一个想法是尝试使用 List 包 中的单子列表以避免在打印开始之前在内存…

夜无邪 2024-09-27 07:10:44 10 0

在 monad 转换器中使用类型同义词

是否可以使用类型同义词作为 monad 转换器类型构造函数的参数?特别是,如果应用的 monad 转换器有一个一元类型同义词,它是否可以用作另一个 monad …

挽梦忆笙歌 2024-09-12 20:56:11 10 0

使用 monad 获得更优雅代码的技巧?

我终于掌握了如何使用 monad(不知道我是否理解它们......),但我的代码从来都不是很优雅。我猜想是因为缺乏对 Control.Monad 上的所有这些功能如何…

画骨成沙 2024-09-12 09:17:36 13 0

有人在野外遇到过 Monad Transformer 吗?

在我的业务领域 - 金融机构的后台 IT - 软件组件携带全局配置、记录其进度、进行某种错误处理/计算短路是很常见的......可以通过 Haskell 中的 Reader…

千纸鹤带着心事 2024-08-31 15:30:37 12 0

如何将 Maybe-Transformer MaybeT 制作为 MonadWriter 的实例?

我正在尝试构建一个 MaybeT-Transformer Monad,基于 Real World Haskell,Monad Transformers 章中的示例: data MaybeT m a = MaybeT { runMT :: m …

苹果你个爱泡泡 2024-08-30 20:44:28 9 0

尝试实现 (>>=) 函数以创建自定义 monad 转换器时出现类型错误

我正在尝试为未来的项目创建一个 monad 转换器,但不幸的是,我对 Monad 类型类的 (>>=) 函数的实现不起作用。 首先,这是底层 monad 的实现: newtyp…

牵你手 2024-08-29 06:55:18 13 0

将 MonadError 与 Parsec 结合使用

我正在尝试将 MonadError 与 Parsec 一起使用。我想出了以下代码片段: f5 = do char 'a' throwError "SomeError" f6 = f5 `catchError` (\e -> unexp…

浪漫人生路 2024-08-20 04:37:59 8 0

monad 变压器和多个 monad 的堆叠

我有带有签名 f :: [a] -> 的函数 f StateT Int Reader b [c] 和带有签名 f' :: a -> 的 f' StateT Int Reader b [c] f 中的计算(非常简化)如下所示…

兔姬 2024-08-18 19:35:23 11 0

Haskell Monad 变压器堆栈和类型签名

我正在尝试创建一堆 monad 转换器,但无法为我的函数获取正确的类型签名。 (我对 Haskell 还很陌生) 该堆栈结合了多个 StateT 转换器,因为我需要跟…

一袭白衣梦中忆 2024-08-18 16:44:44 14 0
更多

推荐作者

忆悲凉

文章 0 评论 0

hgfg1645

文章 0 评论 0

qq_qLPLYi

文章 0 评论 0

戏舞

文章 0 评论 0

殊姿

文章 0 评论 0

﹂绝世的画

文章 0 评论 0

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