编程中的monad是可组合的计算描述。 Monads是Haskell等函数式编程语言中的重要构造。
[我目前正在用《学到一个伟大的Haskell》这本书来学习Haskell,并沉迷于介绍Writer monad的Log Number和Greatest Common Divisor脚本。我了解...
单子计算很快在JS中变得混乱:const chain = fm => xs => xs.reduce((acc,x)=> acc.concat(fm(x)),[]); const = x => [x]; const main = xs => ys =&...
monad和appalative之间的区别在于,前者可以根据前一个结果选择下一个计算:(\ x->如果x == 1,则(\ _-> [])否则(\ y->(\ z-> \ w-> ...
我正在与monad的函数实例(谁没有?)进行斗争。 Monad可能取决于先前的Monadic计算的值。这对函数monad到底意味着什么?当我们...
实例Monad((->)r),其中返回x = \ _-> xh >> = f = \ w-> f(hw)w import Control.Monad.Instances addStuff :: Int-> Int addStuff = do a
我想编写一个具有类型签名的对象:genericFlip ::(MonadReader(o(nc))m,MonadReader an,MonadReader bo)=> m(n(oc))这实际上是..的翻转。 。
我想知道是否有一个函数(在scala或cat中),它忽略了flatMap中的结果。例如。 Some(“ ignore this”)。ignoreArgumentFlatMap(Some(“ result”))与Some(“ ...
阅读上一个SO问题,我很困惑,发现Eric Lippert说无法使用以下实现在C#中为所有Monad定义接口:typeInterface Monad
为了创建功能性样式的monad我在玩Java代码,但是我在使用泛型时感到震惊,如果我不强制转换对象,Java编译器会给我一个编译错误(尽管...
假设我有两个函数f :: Monad m => a-> mag :: a-> a我想连续地应用于某些元素,例如:(return x)>> = f >> = g因为...
当我想在haskell中使用函数组合(使用monad)时,如何使用monad中的<=
我是Haskell语言的新手。我刚刚开始使用monad,而o根本无法弄清楚它是如何工作的。我尝试从Mayad monad像这样调用<= Just(x + 1))<=>(\ y-> ...
我正在尝试在haskell中实现vulkan教程的零碎片段。目前,我一直试图从c:转换此代码:for(const char * layerName:validationLayers){bool layerFound = ...
我有这个程序,它只打印出命令行参数。 echoArgs :: IO()echoArgs =做行
我确定我在这里遗漏了一些非常明显的东西。这是我要在概念上实现的目标:action1 ::(MonadIO m)=> m [a] action1 = pure [] action2 ::(MonadIO m)=> m [a] ...
我如何在Idris中使用ST来获得ReaderT r可能是a?
我已经阅读了Control.ST教程多次,但是我仍然不清楚如何使用它来实现在Haskell中使用monad转换器的那种效果。我的具体情况是我...
我一直在研究Free monad,因为我已经读到它的一个用例是以副作用免费的方式进行日志记录。我正在尝试使用Monet库在JavaScript中执行此操作。 ...
如何在Haskell中使用Monad类的多个构造函数参数上映射函数?
我偶然发现的问题与>> =应用到这样的样本类型有关:数据ThreeArgs a = ThreeArgs aaa派生(Show,Eq)实例Functor ThreeArgs其中fmap f(...
我对为什么REPA函数computeP将其结果打包在monad中感到困惑。它具有以下类型签名。 computeP ::(负载r1 sh e,目标r2 e,源r2 e,Monad m)=> ...
如何在Haskell中为具有记录语法的类型定义`bind`?
在Haskell课程中完成Monad作业时,我完全陷入困境。我想为以下示例定义Monad特定的函数的数据类型:data MyMonad a = MyMonad {func :: String-> a} ...