monad-transformers 相关问题

Monad变换器是组合monad的抽象。这允许您组合不同的计算效果,建立精确控制的计算环境。

Haskell的嵌套国家

我正在尝试定义状态机家族,它们的状态有所不同。特别地,更“复杂”的状态机具有通过组合...

回答 2 投票 3


Scala未来/理解问题的选择

[我正在尝试编写一个从存储库读取的函数(该函数返回F [Option [Entry]],其中F是未来的函数),然后将其转换为F [Option [Element]]。函数convert()采用Seq [Entry] ...

回答 1 投票 0

我如何编写调用runStateT或runReaderT的函数run?

我如何编写一个通用函数运行,该函数运行某个monad转换器的对象,并调用相应的函数?给定运行s,如果s是StateT,则run = runStateT如果s是ReaderT,则run = ...

回答 2 投票 0

隐式升降结合/混合MTL风格类型类的约束时,

我目前正在重构,我有与Data.Time交互的一些Haskell代码。最终我有一堆的随时间交互功能:getCurrentTime :: IO UTCTime getCurrentTime = T ....

回答 1 投票 0

具有Megaparsec ParsecT的状态不是回溯

我有一个解析器定义为以下稍微复杂的版本:数据X = X {getX :: State([Int],[X])Bool}类型Parser = ParsecT Void字符串(状态([Int],[X ]))这个想法是......

回答 1 投票 4

是否有monad没有相应的monad变压器(IO除外)?

到目前为止,我遇到的每个monad(可以表示为数据类型)都有相应的monad变换器,或者可以有一个。有这样一个不能有一个单子吗?或者做所有......

回答 4 投票 64

是否有一种优雅的方式来实现这个功能:`(Monad m)=>(s - > a - > m(s,b)) - > s - > [a] - > m [b]`

像(Monad m)=>(s - > a - > m(s,b))这样的函数产生新状态,并且基于先前状态和当前值的新值非常频繁。我们可以使用不同的方法......

回答 3 投票 1

斯卡拉的Monad变形金刚

我一直在尝试简单的Monad变形金刚,我的理解涉及M [F [A]],其中M和F是monad。如果S是......,如何使M [F [A]]和M [S [A]]在for comp中一起工作?

回答 2 投票 3

我怎样才能编写一个执行错误处理的状态monad?

我需要编写一个也可以支持错误处理的状态monad。我正在考虑将Either monad用于此目的,因为它还可以提供有关导致错误的原因的详细信息。我找到了......

回答 6 投票 8

处理Either和ST monads

假设我有以下函数:checkA :: a - >或者错误b checkA =未定义checkB :: b - > ST s(要么错误c)checkB =未定义检查:: a - > ST s(要么错误c)检查a = ......

回答 1 投票 4

通过for-comprehension和applicative pure来构建ReaderT

以下是返回ReaderT和Either作为返回类型的函数:import cats.data。{ReaderT} type FailFast [A] = [List [String],A] def getValue(name:String):ReaderT [FailFast,Map [ ...

回答 1 投票 1

结合列表,未来和选择的理解 - scalaz

我有以下问题:val sth:Future [Seq [T,S]] = for {x n:...

回答 2 投票 3

如何将Mask添加到monadic堆栈

我试图使用Exception.Safe包中的括号函数,它具有返回类型forall m a b c。 MonadMask m => m a - >(a - > m b) - >(a - > m c) - > m c这意味着......

回答 1 投票 0

Scala-cats,用ReaderT编写Reader

这是一个很小的函数组合,所有函数都返回ReaderT:类型FailFast [A] = [List [String],A] def f1:ReaderT [FailFast,Map [String,String],Boolean] = ReaderT(_ = >对(......)

回答 1 投票 0

Scala:具有不同上下文和依赖关系的ReaderT组合

返回不同ReaderT的s3f1和s3f2函数示例:类型FailFast [A] = [List [String],A] trait Service1 {def s1f:Option [Int] = Some(10)} trait Service2 {def s2f:FailFast [ Int] = ......

回答 1 投票 0

类型签名的变形金刚与否?

只考虑一个API设计。 Haskell中的“常见”是什么?变形金刚类型签名还是“隐藏”? findById :: ID - > IO(可能用户)findById x = runMaybeT $ do ...返回用户...

回答 1 投票 2

国家如何与Kleisli合作?

我有一个用状态monad包装的记录器的示例:val logger = Logger(LoggerFactory.getLogger(this.getClass))def logState [A](s:IO [Unit],a:A):State [List [ IO [单位]],A] =国家[...

回答 1 投票 0

为什么monad没有在组合下关闭?

当我从Haskell Book学习Composing Types章节时,我被赋予了为以下类型编写Functor和Applicative实例的任务。 newtype Compose f g a = Compose {getCompose :: f(...

回答 2 投票 11

Map.lookup的Maybe结果不是我的Monad Transformer堆栈的类型检查

我将通过以下论文:Monad Transformers Step by Step。在2.1节“转换为Monadic样式”中,函数转换为Eval1 monad中的返回值。这部分......

回答 1 投票 10

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