monads 相关问题

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

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

读取关联计算树的实例

我有类型 数据 EvalATree b a = 叶 a |节点 ([b] -> a) [EvalATree b a] 我已经编写了 Show 和 Foldable 实例,“编辑:”认为 a = b 实例(显示a,显示a)=>显示(EvalATree...

回答 1 投票 0

这是 Haskell 实现中的一个错误吗?

在研究 MaybeT 的 Haskell 实现时,我偶然发现了一个有趣的问题。某些函数执行产生的结果与我的预期不同。 我不确定这是一个错误还是

回答 1 投票 0

在F#的计算表达式中定义新的关键字

F# 3.0 beta 包含一个带有大量新关键字的查询 {} 计算表达式。 如何在计算生成器中定义自己的关键字?

回答 2 投票 0

Maybe Monad 会在“Just or Nothing”中崩溃吗?

在阅读它们之前,我尝试实现一个 monad,我只是对 Monad 的概念有一种“感觉”。 我在 All about Monads 上读到 Just 和 Nothing 是函数,而不是 Monad 的类型,b...

回答 1 投票 0

如何在同一个 do 表达式中使用两个不同的 monad?

为了练习我的 Haskell,我决定编写一个小的 JSON 解析器。在主文件中,我调用解析器的不同部分,打印结果,以便我有更多调试信息,然后编写

回答 1 投票 0

用于链接和终止操作序列的函子或单子的名称和存在性

我正在查看 Folktale 和 monet.js 等库,我喜欢能够使用 map 链接操作而无需进行 null 检查或 if 语句,例如使用也许,要么,任务。 我想知道是否...

回答 1 投票 0

如何编写通用 Monad 定律测试?

给出定义: 特征函子[F[_]]: 扩展名 [A](fa: F[A]) def map[B](f: A => B): F[B] 特征 Monad[F[_]] 扩展 Functor[F]: def 单位[A](a: => A): F[A] 扩展名 [A](fa: F[A]...

回答 1 投票 0

为什么允许在带有两个 monad 值的函数上使用 `ap`,而不是在包装在 monad 中的函数上?

这是haskell代码: zip与比较 `ap1` 尾部 在哪里 zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] 比较 :: a -> a -> 排序 ap :: Monad m => m (a -> b) -> ...

回答 1 投票 0

关联计算树的 Monad 实例

我的数据类型是关联计算树 数据 EvalATree b a = 叶 a |节点 ([b] -> a) [EvalATree b a] 为此类型编写了 Functor 和 Applicative 实例函子 (EvalATree b) 其中 ...

回答 1 投票 0

如何在计算表达式中定义自定义运算符

我想在我的计算表达式上定义一些自定义运算符,但无法使其工作 类型 ZipSeq() = [")>] 成员 this.Apply f s = ...

回答 1 投票 0

如何使用 `liftIO` 和 State 来打印 Monad 内的值?

我尝试使用 MonadIO 类中的 liftIO 函数在 State monad 内打印: 导入 Control.Monad.State 导入 Control.Monad.IO.Class 导入 Control.Applicative facHelper :: 整数 -...

回答 1 投票 0

Haskells 绑定运算符和 >> 运算符及其关系

我最近发布了一个关于 >> 运算符的问题,因为尽管我已经阅读了 LYAH walk the linee 部分,但我的理解仍然存在一些差距。下面是一些代码/MVE...

回答 1 投票 0

Ocaml 可添加号码

我正在学习Ocaml,从我为论文学习的一点Haskell中学习,我想知道是否有类似的机制(类型类)来表达2个数字是可加的(就像一个泛型.. .

回答 1 投票 0

Haskell 映射到 Either 的右值

我有一个类型 Either a [b] 和一个函数 f :: (b -> c) 如何在 Either a [b] 类型的值上使用 f 来获取 Either a [c] ?

回答 1 投票 0

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