monads 相关问题

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

Stream Monad:绑定和零返回

给定这个流 monad 作为解决方案: 模块 StMonad = 结构 输入 'a stream = Nil | 'a * ( unit -> 'a stream) 的缺点 让 return v = Cons(v, fun() -> Nil) 让 rec 绑定 v f = 马特...

回答 0 投票 0

Rails Service Object with Dry-Monad yield early

我的 Rails 应用程序中有几个服务对象,我在其中使用 Dry-Monads 通过使用它们的 Do Notation 来影响“成功”或“失败”的模式。然而,在 m...

回答 0 投票 0

不知道Applicative是不是通过MonadTransformer的Monad自然衍生出来的

从类型约束的角度来看,Monad是从Applicative派生出来的,这和我在题目中写的是相反的。 但是,这不是错误。 在研究 Monad 的时候,我检查了所有 ...

回答 0 投票 0

Haskell“hackage”是否与两个具有相同名称的不同类型的签名重叠?

在浏览库时,我看到了以下代码。 https://hackage.haskell.org/package/text-2.0.2/docs/src/Data.Text.Internal.Lazy.Fusion.html#unstreamChunks 看看 unstreamChunks。 这...

回答 0 投票 0

ST 的状态是否应该不改变以便由 runST 执行?

类型 ST s a = ST (s -> (s, a)) runST :: (forall s. ST s a) -> a runST (ST f) = case (f realWorld) of (_, a) -> a 仔细看,错误很多,但是整体结构...

回答 1 投票 0

类型构造器`Maybe (BTree a)`是monad吗?

问题 像这样在 Haskell 中定义类型构造函数 F : 数据 BTree a = 叶子 a |分支 (BTree a) (BTree a) 数据 F a = F(也许(BTree a)) 类型构造子 F 是多项式的,所以它是一个 Fu...

回答 1 投票 0

C++ lambda 如何在右值引用成员函数中移动捕获 *this?

我们可以在 C++ 中移动捕获变量,如下所示。 字符串 ; auto f = [s = std::move(s)](){ /* 做某事 */ }; 我们可以按如下方式复制捕获。 auto f = [*this](){ /* 做某事 */ }; 但是如何...

回答 1 投票 0

如果 Haskell 是懒惰的,为什么 `>>` 有效?

我现在正在学习 Haskell。我读到 >> 的定义是: (>>) :: m a -> m b -> m b x >> y = x >>= \_ -> y 凉爽的。但是,如果没有使用 x 并且 Haske ...

回答 0 投票 0

单子和共子计算的不动点

在 Haskell 中,给定一个单子 m,有 mfix :: (a -> m a) -> m a 计算单子计算的不动点。 对偶地,给定一个 comonad w,有 cofix :: w (w a -> a) -> a that

回答 1 投票 0

单子和共子计算的不动点

在 Haskell 中,给定一个单子 m,有 mfix :: (a -> m a) -> m a 计算单子计算的不动点。 对偶地,给定一个 comonad w,有 cofix :: w (w a -> a) -> a that

回答 0 投票 0

在单子列表上累积一个函数(可能)

我学习 Haskell 是为了掌握新的编程范式。我被一个特定的,可能是基本的问题所困扰。当我找到很多文档和其他堆栈时

回答 3 投票 0

Reader Monad 没有明确调用询问:这可能吗?

我试图了解如何在这篇博文中使用 Reader monad 作为执行功能依赖注入的机制。 让我感到困惑的部分是这一点(摘自博客文章):

回答 1 投票 0

Scala 中 EvalOption[A] 的 Monad 实例

想象一个 EvalOption 类型定义如下: 输入 EvalOption = [A] =>> Eval[Option[A]] 是否有可能以维护 Eval 堆栈安全的方式创建 Monad 实例...

回答 1 投票 0

fmap和bind的关系

在查看 Control.Monad 文档后,我对 这段话: 上述法律意味着: fmap f xs = xs >>= 返回。 F 他们是怎么暗示的?

回答 3 投票 0

组成 monad 变压器堆栈

假设我有两个 Haskell 库,每个库都有一种计算类型,LibA 和 LibB。它们都是堆叠在 IO monad 之上的 monad,使用 ReaderT monad 转换器实现: 进口

回答 0 投票 0

Scala 3. 将 Continuation monad 示例从 Haskell 改编为 Scala

学习 Scala 3 与 monadic 主题。 在 https://jsdw.me/posts/haskell-cont-monad/ 遇到了 Continuation monad 的可理解分解 当我尝试在 Scala 中采用简单代码时 twoC = \out ...

回答 1 投票 0

我应该返回一个包裹的转发参考吗?

对于下面的代码 类 my_class { // ... 模板 auto f(this Self&& self) -> Self&& { 如果(某些条件){ 扔 std::

回答 0 投票 0

为 int 选项加法设计一个例子 `return` 和 `>>=`

只是为了练习 monad 的概念,我正在尝试编写一个带有 return 和 >>= 函数的 OCaml 程序,这对 int 选项类型有意义。特别是,在我看来

回答 1 投票 0

MonadTransControl支持STM吗?

我正在寻找一种在STM.atomically内部使用单体变换器的标准方法。我觉得这听起来很奇怪,因为到目前为止,我找到的所有用例都只是 liftIO .atomically,并传递裸露的 "STM a",而没有......

回答 1 投票 1

在编写一个简单的QuickCheck URL生成器时,出现了嵌套单体的问题。

另一个新手问题,可能是我没有掌握Haskell中的Monadic do导致的。我想为格式良好的URI写一个简单的QuickCheck生成器, 使用Text.URI类型从... ...

回答 1 投票 2

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