monads 相关问题

编程中的monad是可组合的计算描述。 Monads是Haskell等函数式编程语言中的重要构造。

如何在 Haskell 中枚举递归数据类型?

这篇博文对如何使用 Omega monad 对角枚举任意语法进行了有趣的解释。他提供了一个示例来说明如何做到这一点,从而产生无限序列

回答 4 投票 0

如何在链接MapReduce过滤器时减少迭代?

我读了很多关于map、reduce和filter的文章,因为它们在react和FP中的使用量很大。如果我们写这样的东西: 让 myArr = [1,2,3,4,5,6,7,8,9] 让

回答 5 投票 0

如何使用 Monad 的 (->) 实例以及关于 (->) 的困惑

在不同的问题上,我在评论中找到了有关使用 Monad 的 (->) 实例的提示,例如实现无点风格。 对于我来说,这有点太抽象了。好的,我看到了箭头

回答 2 投票 0

难以理解带有嵌套 `fmap` 的 Haskell 类型统一

我在查看免费 monad 时遇到了这个问题,但已将其简化为一个更小的示例。 在 Haskell 中,我们有以下类型: fmap :: 函子 f => (a -> b) -> f a -&g...

回答 1 投票 0

为什么这个 Haskell 类型签名会神奇地改变?

我在查看免费 monad 时遇到了这个问题,但已将其简化为一个更小的示例。 在 Haskell 中,我们有以下类型: fmap :: 函子 f => (a -> b) -> f a -&g...

回答 1 投票 0

是否可以在 OCaml 中编写递归单子解析器? [已关闭]

假设我们要解析这样的表达式: 指数 := 多 Mul := 添加 {'*' 添加} 添加 := 文字 {'+' 文字} 文字 := 数字 | '('Exp')' 在 Haskell 中,我们可以编写一个解析器,例如 exp = mu...

回答 1 投票 0

是否可以编写像 Haskell 中一样干净的 Monadic 解析器?

假设我们要解析这样的表达式: 指数 := 多 Mul := 添加 {'*' 添加} 添加 := 文字 {'+' 文字} 文字 := 数字 | '('Exp')' 在 Haskell 中,我们可以编写一个解析器,例如 exp = mu...

回答 1 投票 0

Haskell 链表 Monad

我正在尝试在 haskell 中为链表枚举数据类型编写 Monad,但我不明白为什么我的绑定函数 (>>=) 在 ghci 中出错。 数据 LL a = 哨兵 |节点 a (LL a)

回答 1 投票 0

如何理解 Monad 中的 <- in Haskell's do notation with an uncommon ">>=" 实现?

我是一名 C++/Rust 程序员,出于好奇,我目前正在学习 Haskell。正如所料,我在尝试理解 Monad 时遇到了一些障碍: 我已经读过定义...

回答 1 投票 0

从 [Maybe a] 中提取第一个 Just 值

假设我有一个如下列表: [没什么,只是1,没什么,只是2] 我想获得第一个Just(非错误)值;在这种情况下,它只是 1。我唯一能想到的是: FirstJust xs = 案例过滤器

回答 3 投票 0

liftM2 如何像 Haskell 中的 S' 组合器一样工作?

我正在观看 code_report(链接)的视频,其中他提到 liftM2 的工作原理就像组合逻辑中的 S' 组合器。在他的示例中,他计算了数组的最小/最大元素并取...

回答 1 投票 0

如何让 do 块提前返回?

我正在尝试使用 Haskell 抓取网页并将结果编译到一个对象中。 如果出于某种原因,我无法从页面中获取所有项目,我想停止尝试处理页面...

回答 3 投票 0

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

假设我有两个Options,如果都是Some,则执行一个代码路径,如果有注释,则执行另一个。 我想做类似的事情 对于 (x <- xMaybe; y <- yMaybe) { // do something } els...

回答 9 投票 0

使函数等待参数解析

是否已经有类似以下内容的东西。 /** * 前任。 * const ret = 等待 asyncify(Math.max)(arg1, arg2); */ 异步(函数){ 返回异步(...输入)=> { // ...

回答 1 投票 0

(看似)我的 Haskell 代码的等效转换不起作用

我尝试学习 Haskell,并努力将 do 语法转换为 monad。 所以,我把它归结为一个小例子。 我懂了: 工作::字符串 工作=做 让 arr = ["获取", "这个&qu...

回答 1 投票 0

如何在 Haskell 中编写 Monad 来高效地跟踪和预取 i18n 键?

我正在尝试编写一个 Monad 来跟踪一段代码正在使用哪些 i18n 键。这个想法是预先以有效的方式预取所有这些键的值,而不是最终...

回答 1 投票 0

函数 monad 递归调用中 `TraceM` 的输出混乱

我是 Haskell 新手,正在学习如何使用 Haskell 编写编译器。我使用如下所示的 monad 语法在“Monadic Parser Combinators”中重写了这些代码。一切似乎都运转良好...

回答 1 投票 0

在 C# 中使用 Monad 的引人注目的场景是什么

首先声明我对 Monad 的理解还很幼稚。我在这里阅读了有关 Monad 的各种帖子,并对这个概念进行了几个小时的研究。我几乎感觉不舒服...

回答 8 投票 0

Scala Option 和 flatMap

我正在尝试掌握“Scala 方式”工作的窍门,所以我想知道下面的代码是否是在这种情况下应该如何完成的事情。 所以我有实体 User 和 Company (用 LiftWeb 映射

回答 3 投票 0

我可以避免这个基于替代函数的 Monad 约束吗?

我编写了以下函数(使用这些库): import Control.Applicative(替代 ((<|>)),可选) 导入数据。这些(这些(..)) asumThese :: (替代 f, Monad f) ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.