monads 相关问题

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

在 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

“Pair”是“MonadRec”的有效实例吗?

在《Stack Safety for Free》一文中,Phil Freeman 定义了 MonadRec 类型类,如下所示。 类 (Monad m) <= MonadRec m where tailRecM :: forall a b. (a -> m (要么 a b)) -> a -> ...

回答 1 投票 0

如何处理 Monad、Functor 和 Applicative 来编写有状态代码

我正在尝试在 Haskell 中编写一些有状态代码。为此,我遵循了这份材料。此时,我已经了解了 monad 和 functor,粗略地说,我很困惑,无法编写程序......

回答 1 投票 0

来自 ST monad 的 Haskell 哈希表

我正在尝试使用 Haskell St monad,但是不幸的是,我不明白如何将纯函数和这个 monad 结合起来。以下是需要计算单词中单个单词的程序示例...

回答 1 投票 0

也许或者单子、短路和性能

C++ 中的函数式编程,第 214 页,参考与 Haskell 的 Either 相同的预期 monad,内容如下 [...] 一旦您绑定的任何函数返回...

回答 2 投票 0

如何在Lean4中定义free monads和cofree comonads?

在 Haskell 中我们可以这样定义这两个: 数据 Free (f :: Type -> Type) (a :: Type) = Pure a |自由(f(自由f a)) 数据 Cofree (f :: Type -> Type) (a :: Type) = Cofree a (f (Cofree ...

回答 1 投票 0

为什么`let fmap f = id >=> (好吧<< f)` work?

问如何在F#中使用fish(>=>、Kleisli组合)运算符实现map?几个小时前,'kaefer 的回答让我大吃一惊: 让 fmap f = id >=> (好的 << f) It is

回答 1 投票 0

为什么`let fmap f = id >=> (好吧<< f)` work in F#?

问如何在F#中使用fish(>=>、Kleisli组合)运算符实现map?几个小时前,'kaefer 的回答让我大吃一惊: 让 fmap f = id >=> (好的 << f) It is

回答 1 投票 0

如何在F#中使用fish(>=>、Kleisli组合)运算符实现`map`?

我正在通过 Scott Wlaschin 的面向铁路的编程帖子学习一元组合。一旦定义了bind、switch和>=>函数,他就引入了map来展示如何“转一个...

回答 1 投票 0

Haskell:我刚刚重新发明了什么单子?

我刚刚重新发明了一些单子,但我不确定是哪一个。它允许您对计算步骤进行建模,因此您可以交错进行大量计算的步骤,以找出哪一个首先完成。 {-# 郎...

回答 5 投票 0

Functor 和 Monads,有没有人对 scala 中的这个主题有很好的解释?

是否有任何资源可以帮助您更好地理解函子和单子。请分享您对函数式编程中的概念有深入了解的资源...

回答 1 投票 0

收集错误(而不是短路)直到实际使用值为止

什么是最简单但最优雅的方法来不短路并收集错误直到使用它们的值? 积累错误有什么难的?仅当函数调用重新时才短路...

回答 1 投票 0

Java 函数式编程中具有两个值的 Monad Map

如果这是 FP 的基本问题,请原谅我。让我们考虑可选单子。我知道我可以使用 map 将一个可选值转换为另一个基于函数的可选值(如果可选,则将调用该函数......

回答 1 投票 0

将 Scala 3 中的迭代器列表转换为列表迭代器

哎呀!我正在学习 Scala,并正在阅读《Scala 函数式编程》一书。我一直在玩,发现自己处于这样的情况:我希望能够转动

回答 1 投票 0

Haskell 在使用序列运算符后无法推断 monad 的返回类型

以下代码 导入 Control.Monad.Writer 类 Foo c 其中 fromInt :: Int -> c 实例 Foo [Int] 其中 fromInt n = [n] 实例 (Monoid c, Foo c) => Foo (Writer c ()) 其中...

回答 1 投票 0

C++23的Optional::transform和Optional::and_then有什么区别?

C++23 添加了一些关于可选值的“一元式”功能,作为可选方法: 可选::and_then()(并忽略其限定符): 模板

回答 3 投票 0

密度和连续T

在学习函数式编程和探索延续的概念时,我熟悉了类型(monad 转换器)Codensity 和 ContT。 它们看起来很相似,但仍然不是...

回答 1 投票 0

Haskell [解析错误,可能是缩进不正确或括号不匹配)解析器

我正在尝试按照本文在 Haskell 中创建一个解析器。我使用了 Pragma {-# Language NoImplicitPrelude #-}。这是为了让我能够毫无困惑地开发 Monad 类...

回答 1 投票 0

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