Haskell 中有态射吗?
我有一些 GADT,它代表 lambda 演算中的一个术语。 data Term a = Var a | Lambda a (Term a) | Apply (Term a) (Term a) 我想做的是有一个用于该类型…
将 3 个函子合并为 1 个
我有 3 个函子,想知道是否可以将它们组合成 1 个,也许作为模板。 是否可以?如果是这样,我会怎么做。谢谢! struct less_than { bool operator()(d…
Lambda 表达式作为类中的成员函子
当 lambda 表达式 (LE) 成为从 4.5.1 开始的 gcc 的一部分时,我感到非常兴奋,并希望他们能够提供一种方法来摆脱 C++ 中那些令人讨厌的函数指针,据…
C++ 如何与 for_each 或 std::transform 一起使用时,函子构造函数会被调用
我以前从未使用过 C++ 函子,所以我只是想了解它们是如何工作的。 例如,假设我们有这个函子类, class MultiplyBy { private: int factor; public: M…
重载基类非虚函数中使用的虚函数
嘿,我正在尝试构建 ConcavePolygon 类的以下成员函子,但由于某种原因,我收到链接器外部符号错误: 无法解析的外部符号“public: virtual void __th…
Haskell 将 Hom Functor/Monad 称为什么?
我想在我的代码中使用它,并且不想重复它,但由于它只涉及大量通用单词,如“函数”或“组合”,我无法通过搜索找到它。 完全具体地说,我正在寻找 in…
是否可以从(函子成员的)函数签名中检索参数类型以在模板中使用?
假设您有一个函子: struct MyFunctor { bool operator ()( int value ) { return true; } }; 是否可以检索函子的成员的参数类型以在模板中使用?以下…
为什么 STL 仿函数本身是模板化的,而不是它们的函数调用运算符?
STL 仿函数是这样实现的: template struct less{ bool operator()(T const& lhs, T const& rhs){ return lhs < rhs; } }; 这使得我们每次创建这样的…
为什么应该在函数式编程中使用应用函子?
我是 Haskell 的新手,我正在阅读有关函子和应用函子的内容。好的,我了解函子以及如何使用它们,但我不明白为什么 applicative 函子有用以及如何在 H…
boost::bind 如何调用私有方法?
boost::bind 在许多情况下都非常方便。其中之一是调度/发布方法调用,以便 io_service 稍后在可能的情况下进行调用。 在这种情况下,boost::bind 的行…