在Haskell中,Applicative仿函数是仿函数,因此两个函数值可以合并为一个,而内部的两个值通过功能应用程序组合。应用仿函数比仿函数具有更多结构,但不如monad。
Haskell的纯函数和return一样吗?如果Monad已经是Applicative的一个实例,我可以创建一个Monad实例,对吧?所以我想知道Applicative的纯粹是每次......
我只是有一个关于应用函子的快速问题,以帮助我掌握它们。这只是我在ghci中应用的东西。 [(+3),(( - )3),(* 3)] [4] [7,-1,12]这对我来说很有意义。 ...
我正在阅读“了解你是一个很好的Haskell!”并且我对某个代码块的评估的解释感到磕磕绊绊。我已多次阅读解释并开始......
我无法找到我在哪里看到这个,但我在reddit讨论中找到了一个do块中的以下语法:做case(...而不是通常的do foo)
我试图从猫库https://typelevel.org/cats/typeclasses/traverse.html使用遍历(或对我的任务几乎相同的序列)。我想用函数遍历List [A] ...
仍然不是百分之百地避免如何制作更复杂类型的实例。有这个:数据可以a =是一个|丢失派生(Show,Ord)制作了一个Functor实例,使用Maybe作为...
如何在Scala中的Cats中为Validation中的Validation组合应用效果的函数
以下是来自Scala with Cats的示例:对象Ex {import cats.data.Validated type FormData = Map [String,String]类型FailFast [A] = [List [String],A] def getValue(name :. ..
在为Reader r编写Applicative实例时如何编写
我坚持在Haskell Book中练习,“第22章读者”。练习说“实现阅读器的应用”并提供以下内容:{ - #LANGUAGE InstanceSigs# - } newtype Reader r ...
有没有更好的方法来编写以下函数fs'与仿函数或应用程序? fncnB =(* 2)fncnA =(* 3)fs'fs = zip(map(fncnA.fst)fs)$ map(fncnB.snd)fs我从中看到...
两个表达式y >> pure x liftM(const x)y在Haskell中具有相同的类型签名。我很好奇他们是否相同,但我既不能证明事实也不能......
我试图理解为什么应用程序仿函数默认工作(不需要实现)对于像Maybe这样的一些仿函数,但对于其他仿函数则不行:示例:Just(+3)(Just 3)工作正常“...
最近我注意到幽默的升力可以写成liftA()纯我认为这很整洁,所以作为一个笑话,我想我会根据这个做出一个新的“定义”liftA ......
试图扩展我对Haskell中符号的理解:($):Function Application运算符(允许你在函数上应用参数)(&):函数应用程序的翻转版本......
我试图在https://namc.in/2018-02-05-foldables-traversals的帮助下理解Traversable。在某处作者提到了以下句子:Traversable是Applicative ...
我想我已经为Free提出了一个有趣的“zippy”应用实例。数据FreeMonad f a = Free(f(FreeMonad f a))|返回一个实例Functor f => Functor(...
假设我有:val x1:[String,Int] = Right(1)val x2:[String,Float] = Left(“Nope”)val x3:[String,Double] = Left(“Not Today” “)我想将这些结合在一起并获得...
我们可以为X解决这个等式吗?适用于monad是什么X是comonad
是否有类似于Applicative类型的类,但是应用程序的每一侧有两个仿函数是不同的? ie()::(Functor f,Functor g)=> f(a -...
正如Hackage for Applicative Functors中所提到的,它们是强大的松散幺半体仿函数。那么为什么他们在Haskell中的定义不会如此表示:class Functor f => MonoidalApplicative f where ...
我试图理解应用以及如何将它用作K函数和N个参数之间的笛卡尔积,我无法理解为什么我不能做以下事项:[Just(+1),Just(+2) ]&...