术语“仿函数”有几个常见的含义:1。函数对象。在面向对象语言中,它是一种允许使用对象的功能,就像它们是普通函数一样。 2.处理类别之间映射的数学结构。这个概念在一些编程语言中是一个有用的抽象,特别是Haskell,它被实现为一个类型类。 3.在OCaml中,一个以另一个模块作为参数的模块。
我是Haskell的新手。在Monad文档中,有一个使用void函数的示例:>>> void(Left 8675309)Left 8675309 >>> void(Right 8675309)Right()我很艰难...
我正在尝试用C ++实现阅读器函子。对应的Haskell定义为fmap ::((a-> b)->(r-> a)->(r-> b)我的C ++版本为:template B fmap(...
我正在将一些代码从Matlab移至R,并且在特殊的handle函数中遇到了一些困难。这是我的Matlab代码:function Application_ChFun clear; close all; clc; warning('off'...
我有一个monad转换器:newtype ChoiceT fma = ChoiceT(forall x。fx-> mx)-> ma现在,我认为这是Monads类别的仿函数,我想为此绘制一个地图。 。
由于constexpr不能保证它会在“编译时”被处理,因此我想知道一些方法来检查我的代码是否在编译时已被完善。假设我...
我有一个组合器C和一个Functor实例,定义如下:数据C f1 f2 a = C(f1 a)(f2 a)实例(Functor f1,Functor f2)=> Functor(C f1 f2)其中fmap g( C ab)= ...
作为Haskell中的Functor实例的部分应用函数类型(a->)
我正在阅读《 Haskell编程》(第二版),偶然发现了练习2,第12章,第2部分:实例函子((->)a),其中fmap = TODO,答案为:。 ..
我得到了以下代码newtype Parser a = Parser {parse :: String-> Maybe(a,String)}实例适用的解析器,其中纯a = Parser $ \ s-> Just(a,s)fa =。 ..
作为家庭作业的一部分,我们正在Haskell中研究解析器。我们有这种数据类型newtype Parser a = Parser {parse :: String-> Maybe(a,String)}这对我来说很清楚,我们的解析器...
我注意到,我有很多函数可以在我的值中添加某种标记。例如,请考虑以下两个数据类型:名为a的数据=名为a的字符串...
在C ++ 11中,假设我有一个使用函子/函数并将其参数转发给该函数的函数。我可以传入一个指向std :: make_shared的指针,这将导致它实例化一个类...
我正在尝试为不同的函数实现一个容器类,在其中可以保存函数指针,并在以后使用它来调用那些函数。我将尝试更准确地描述我的问题。如...
我有一个用于二叉树的数据结构,并且对它有一个函子BST a =空|节点(BST a)一个(BST a)实例函子BST,其中fmap f空=空fmap f(节点l val r)=(节点(fmap f l)...
我创建了3个搜索函数:func containsRole(x字符串,一个[] Role)bool {表示_,n:=范围a {如果x == n.Name {return true}} return false} func ...] >
我有一个线程对象,我无法在ProcessPoolExecutor中分发该对象,但希望返回将来。如果我已经有了一个期货,是否有办法将其应用于完成的价值,例如,期货a ...