在Haskell中,Applicative仿函数是仿函数,因此两个函数值可以合并为一个,而内部的两个值通过功能应用程序组合。应用仿函数比仿函数具有更多结构,但不如monad。
monad和appalative之间的区别在于,前者可以根据前一个结果选择下一个计算:(\ x->如果x == 1,则(\ _-> [])否则(\ y->(\ z-> \ w-> ...
我发现对于此Applicative实例,至少有2个pure的实现,它们遵循所有定律(同一性,同态,互换,组成)。其中之一还是错的吗? ...
经过一段时间的示例,对我来说,在使用Control.Applicative类型类时,看起来myFunction和纯myFunction是等效的。例如:(++)
Applicative类型类的实例的要求与它们对Functor的实现有何关系
根据Haskell的库文档,Applicative类的每个实例必须满足以下四个规则:身份:纯id v = v成分:pure(。)u v
摘自在线课程。假设对于标准列表Applicative函子,以标准方式定义了运算符,而pure变为pure x = [x,x] ...
我正在编写一个haskell程序来执行一堆语句以修改数据记录。我想对每个语句的状态进行修改和测试,而无需用户干预。我有...
这是我必须使用的代码:infixl 9:@:-这是在表达式数据应用中使用的新定义的符号Expr = Lit Integer-文字| Var String-一个...
在Haskell中,Applicatives被认为比Functor强,这意味着我们可以使用Applicative来定义Functor,例如-Functor fmap ::(a-> b)-> fa-> fb fmap f fa = pure f fa ...
正在寻找与liftA2相关的Haskell函数,但其 作用类似于从Alternative
考虑这个liftA2函数:liftA2 ::(也许a->也许b->也许c)->也许a->也许b->也许c liftA2 f什么都没有=什么都没有liftA2 f(只是x)什么都没有。 ..
在Haskell中,为什么应用程序需要在同一个上下文中接受态射和数据?
我是Haskell的新手。这可能是愚蠢的问题。由于Applicative类型类具有apply函数,因此它在相同的上下文中接收函数和数据。为什么它不能与众不同并且更通用。 ...
我正在尝试实现自己的Applicative解析器,这是我使用的代码:{-#LANGUAGE ApplicativeDo,LambdaCase#-}模块Parser其中-实现Applicative Parser导入Data.Char ...
[这来自《第一原理》中Haskell的练习。练习是为ZipList实施Applicative,类似于Prelude的ZipList。这本书有这个提示检查...
[我正在阅读有关Haskell的Graham Hutton的书,并且不要一口气地进行一项练习。练习如下:给定以下类型表达式,数据Expr a = Var a | Val Int | ...
为什么“ let”语句强制“应用do”语句块要求monad约束?
考虑此示例:{-#language ApplicativeDo#-}模块X,其中数据元组ab =派生元组ab显示示例函子(元组a)其中fmap f(元组xy)=元组x(fy)实例...
为什么“ let”语句强制“ applyciative do”块需要monad约束?
考虑此示例:{-#language ApplicativeDo#-}模块X,其中数据元组ab =派生元组ab显示示例函子(元组a)其中fmap f(元组xy)=元组x(fy)实例...
我正在解决haskell Wikibook中的一个问题,完全陷入困境。他们要求“在列表monad章节中概括任意数量的兔子入侵示例”。 ...
我对函数式编程非常陌生,我几乎没有以下自定义数据类型来代表一副纸牌。西装数据的数据类型西装=黑桃|俱乐部|钻石|心衍生(...
这里要说的是避免了像嵌套图案的协程(链(米)(链(...))为一元计算:const的一些= X =>无=>一些=>一些(X); const的无=无=>一些=>无; ...