monads 相关问题

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

在ghci中使用Writer monad的问题

[我目前正在用《学到一个伟大的Haskell》这本书来学习Haskell,并沉迷于介绍Writer monad的Log Number和Greatest Common Divisor脚本。我了解...

回答 1 投票 3

在JS中有没有更好的模仿do表示法的方法?

单子计算很快在JS中变得混乱:const chain = fm => xs => xs.reduce((acc,x)=> acc.concat(fm(x)),[]); const = x => [x]; const main = xs => ys =&...

回答 2 投票 3

liftM函数是否被剥夺了其单调的本质?

monad和appalative之间的区别在于,前者可以根据前一个结果选择下一个计算:(\ x->如果x == 1,则(\ _-> [])否则(\ y->(\ z-> \ w-> ...

回答 1 投票 1

函数上下文中单子计算的先前值是什么?

我正在与monad的函数实例(谁没有?)进行斗争。 Monad可能取决于先前的Monadic计算的值。这对函数monad到底意味着什么?当我们...

回答 1 投票 0


了解简单Reader monad的符号:a

实例Monad((->)r),其中返回x = \ _-> xh >> = f = \ w-> f(hw)w import Control.Monad.Instances addStuff :: Int-> Int addStuff = do a

回答 3 投票 1

是否可以实现这种通用翻转?

我想编写一个具有类型签名的对象:genericFlip ::(MonadReader(o(nc))m,MonadReader an,MonadReader bo)=> m(n(oc))这实际上是..的翻转。 。

回答 2 投票 2

flatMap忽略结果

我想知道是否有一个函数(在scala或cat中),它忽略了flatMap中的结果。例如。 Some(“ ignore this”)。ignoreArgumentFlatMap(Some(“ result”))与Some(“ ...

回答 1 投票 1

这是C#Monad,问题出在哪里?

阅读上一个SO问题,我很困惑,发现Eric Lippert说无法使用以下实现在C#中为所有Monad定义接口:typeInterface Monad

回答 1 投票 3

构建monad时Java泛型的问题

为了创建功能性样式的monad我在玩Java代码,但是我在使用泛型时感到震惊,如果我不强制转换对象,Java编译器会给我一个编译错误(尽管...

回答 1 投票 1

单幅纯地图

假设我有两个函数f :: Monad m => a-> mag :: a-> a我想连续地应用于某些元素,例如:(return x)>> = f >> = g因为...

回答 1 投票 2

当我想在haskell中使用函数组合(使用monad)时,如何使用monad中的<=

我是Haskell语言的新手。我刚刚开始使用monad,而o根本无法弄清楚它是如何工作的。我尝试从Mayad monad像这样调用<= Just(x + 1))<=>(\ y-> ...

回答 1 投票 0

tetris类型-卡住的单子和纯代码混合

我正在尝试在haskell中实现vulkan教程的零碎片段。目前,我一直试图从c:转换此代码:for(const char * layerName:validationLayers){bool layerFound = ...

回答 2 投票 0

Haskell IO:打印命令行参数

我有这个程序,它只打印出命令行参数。 echoArgs :: IO()echoArgs =做行

回答 2 投票 0

标准组合器从一组单子操作中获得第一个“非空”值

我确定我在这里遗漏了一些非常明显的东西。这是我要在概念上实现的目标:action1 ::(MonadIO m)=> m [a] action1 = pure [] action2 ::(MonadIO m)=> m [a] ...

回答 1 投票 0

我如何在Idris中使用ST来获得ReaderT r可能是a?

我已经阅读了Control.ST教程多次,但是我仍然不清楚如何使用它来实现在Haskell中使用monad转换器的那种效果。我的具体情况是我...

回答 1 投票 2

如何使用免费Monad

我一直在研究Free monad,因为我已经读到它的一个用例是以副作用免费的方式进行日志记录。我正在尝试使用Monet库在JavaScript中执行此操作。 ...

回答 1 投票 3

如何在Haskell中使用Monad类的多个构造函数参数上映射函数?

我偶然发现的问题与>> =应用到这样的样本类型有关:数据ThreeArgs a = ThreeArgs aaa派生(Show,Eq)实例Functor ThreeArgs其中fmap f(...

回答 2 投票 3

Haskell:并行计算和monad的'顺序属性'

我对为什么REPA函数computeP将其结果打包在monad中感到困惑。它具有以下类型签名。 computeP ::(负载r1 sh e,目标r2 e,源r2 e,Monad m)=> ...

回答 1 投票 6

如何在Haskell中为具有记录语法的类型定义`bind`?

在Haskell课程中完成Monad作业时,我完全陷入困境。我想为以下示例定义Monad特定的函数的数据类型:data MyMonad a = MyMonad {func :: String-> a} ...

回答 1 投票 1

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