术语“仿函数”有几个常见的含义:1。函数对象。在面向对象语言中,它是一种允许使用对象的功能,就像它们是普通函数一样。 2.处理类别之间映射的数学结构。这个概念在一些编程语言中是一个有用的抽象,特别是Haskell,它被实现为一个类型类。 3.在OCaml中,一个以另一个模块作为参数的模块。
对我来说,编译器可以推导出类似这样的模板类型:模板 struct wrap {std :: function func_; ...
我有一个“Device”类,表示外围硬件设备的连接。客户端在每个Device对象上调用许多成员函数(“设备函数”)。 class Device {...
Haskell Typeclassopedia 3.2节的练习5要求在声明中提供证明或反例。两个Functors的组成也是一个Functor。我一开始以为这是......
在c ++ 17中,我有is_invocable来匹配函数指针,lambdas和functor。但是,如果我被困在c ++ 14上怎么办?我是否有类型特征,或者我可以写一个,这将匹配所有这些?我有 ...
map ::(a - > b) - > [a] - > [b] fmap :: Functor f =>(a - > b) - > fa - > fb liftM :: Monad m =>(a - > b ) - > ma - > mb为什么我们有三种不同的功能......
我有关于仿函数的问题。我构建了一个简单的类:class PolygonPrinter {private:std :: vector X;的std ::矢量 Ÿ; ...
不是Functor / Functor / Applicative / Monad的好例子?
在向某人解释类型类X是什么时,我很难找到正好是X的数据结构的好例子。所以,我请求示例:一个不是Functor的类型构造函数。一个 ...
我对map()的行为很困惑。我有一个像这样的对象数组:const products = [{...,'productType'='premium',...},...]我将这个数组传递给...
我最近发现在C ++中你可以以一种奇怪的方式重载“函数调用”操作符,你必须编写两对括号:class A {int n;公众:无效......
从分类的角度来看,仿函数是一对两个映射(一个在对象之间,另一个在类别的箭头之间),遵循一些公理。我假设,每个Functor实例都是......
我最近学习了SML,当我开始了解术语 - 应用和生成的函子。我也知道SML使用生成函子。我试图谷歌的条款,但找不到...
我试图在java中编写一些函子,monad和applicatives。我发现了一些,并选择了下面的一个。在类别理论方面,什么是get()返回?单位()似乎某种......
我正在关注这个关于F代数的博客它解释了终端代数通常在编程中被解释为生成(可能是无限的)数据结构或转换的秘诀......
如何使用具有特定构造函数的STL priority_queue +比较器?
我想这样做:#include #包括 class Comparator {public:Comparator(SomeObject&rTool):mrTools(rTool){} bool operator()(const std :: string&a,...
我一直在阅读一篇文章(http://comonad.com/reader/2012/abstracting-with-applicative/)并在那里找到以下代码片段:newtype Compose fga = Compose(f(ga))派生.. 。
困惑(fmap length Just)[1,1,1,1] vs. fmap length $ Just [1,1,1,1]
我理解parens强制执行不同的操作顺序,但我不太明白第一个结果:>>(fmap length Just)[1,2,3] 1以下是完全合理的 - ...
考虑以下代码,其中派生出一个函数,继承自两个基类base1和base2,每个基类提供不同的重载://前言#include #包括
我写了一个简短的函数:swapMaybe:Monad m => Maybe(m a) - > m(也许是)swapMaybe Nothing = pure Nothing swapMaybe(Just x)= map Just x然后我试图证明它的一个属性:...
为什么在fmap的方法参数之后会对getArgs进行求值? main :: IO()main = do fpath
这是对我之前问题的回答的后续行动。我们知道仿函数组成。我可以使用scalaz编写一个仿函数List [_]和Option [_]的组合:import scalaz._,Scalaz ....