Вопросы по теме 'functor'

Не могли бы вы объяснить мне функторы OCaml?
Возможный дубликат: Что в функциональном программировании такое функтор? Я мало что знаю об OCaml, я некоторое время изучал F # и хорошо его понимаю. Говорят, что в F # отсутствует модель функторов, которая присутствует в OCaml. Я...
9085 просмотров
schedule 29.12.2023

Функтор шаблона не может определить ссылочный тип
У меня есть функтор f, который принимает функцию func и параметр t того же типа, что и func. Я не могу передать g в f из-за ошибки компиляции (нет соответствующей функции для вызова f(int&, void (&)(int&)) ). Если g примет не ссылочный...
1466 просмотров
schedule 17.04.2024

Помогите понять работу функциональных объектов?
Я нашел этот код в Википедии . class compare_class { public: bool operator()(int A, int B) const { return A < B; } }; ... // Declaration of C++ sorting function. template <class ComparisonFunctor> void sort_ints(int*...
190 просмотров
schedule 29.12.2023

Почему сами функторы STL шаблонны, а не их оператор вызова функции?
Функторы STL реализованы следующим образом: template<class T> struct less{ bool operator()(T const& lhs, T const& rhs){ return lhs < rhs; } }; Это заставляет нас упоминать тип (возможно, длинный) каждый раз, когда мы...
712 просмотров
schedule 07.12.2023

Функторы шаблонов, которые должны предоставлять себя в качестве аргументов шаблона
Я бы очень хотел иметь возможность предоставить функтор в качестве аргумента шаблона. Функторы должны иметь возможность предоставить «себя» в качестве этого аргумента. Я представляю что-то вроде этого: template<typename T,...
509 просмотров
schedule 27.11.2023

Почему я получаю эту ошибку «переобъявлен как символ другого типа»?
У меня есть такой функтор, class PrintParentheses { public: PrintParentheses(unsigned pairsCount) {} void operator ()() {} }; Внутри main() я использую его так: #include <iostream> int main() { unsigned pairsCount...
10231 просмотров
schedule 03.12.2023

Как функторы работают в haskell?
Я пытаюсь изучить Haskell, и я изучил все основы. Но теперь я застрял, пытаясь разобраться в функторах. Я читал, что «Функтор преобразует одну категорию в другую категорию». Что это значит? Я знаю, что это много вопросов, но может ли...
14040 просмотров
schedule 23.03.2024

преобразование тяги, определяющее пользовательскую двоичную функцию
Я пытаюсь написать пользовательскую функцию для выполнения суммы. Я следил за этим вопросом Пользовательская функция Cuda Thrust , чтобы взять ссылку. Вот как я определил свой функтор struct hashElem { int freq; int error; }; //basically...
2408 просмотров
schedule 10.05.2024

Как сохранить объект boost::bind как переменную-член?
Я использую boost::bind для создания составных функций «на лету» и надеюсь сохранить объект как некоторую переменную-член класса для последующего использования. Например, у нас есть два функтора: struct add{double operator()(double x, double y)...
613 просмотров
schedule 13.04.2024

Функтор Priority_queue использует C++
Я наткнулся на какое-то странное использование priority_queue, я хотел бы получить какое-то правильное объяснение того, почему правдоподобно/действительно использовать что-то подобное в объявлении priority_queue: typedef...
1558 просмотров
schedule 01.10.2022

'Default Behavior' для рекурсивных типов данных Haskell
Я пытаюсь написать решатель пропозициональной логики на Haskell. Я представляю логические выражения с рекурсивным типом данных под названием «Sentence», который имеет несколько подтипов для различных операций - «AndSentence», «OrSentence» и т. Д....
143 просмотров

C++ stl for_each() и функтор, где он создает новые объекты
Я новичок в функторе. Может ли кто-нибудь объяснить мне в следующих кодах, когда программа создает объекты для класса AddValue для каждого элемента вектора? Для меня функция for_each() должна сначала получить элемент из vec, а затем создать новый...
204 просмотров
schedule 17.01.2024

Псевдоним типа должен быть объявлен общедоступным, поскольку он соответствует требованию общедоступного протокола.
Я реализую базовый Functor // class Functor f where public protocol Functor { typealias A typealias B typealias FB // fmap :: (a -> b) -> f a -> f b func fmap(f: A -> B) -> FB } public struct Box<X> {...
5192 просмотров
schedule 29.01.2024

Исправление определения типа для определения экземпляра Functor
Я пытаюсь определить тип с двумя параметрами i и m . Я хочу специализировать этот тип, исправляя два конкретных экземпляра, которые фиксируют параметр m. На данный момент у меня есть следующие определения: -- | ZadehMembership: represents a...
110 просмотров
schedule 30.05.2024

Реализация (типизированного) комбинатора K в C++
Я пытаюсь реализовать комбинатор K из исчисления комбинатора SK на С++. Комбинатор K — это функция высшего порядка , которая обычно принимает некоторое значение x и возвращает что-то который в свою очередь принимает значение y и возвращает...
247 просмотров

Псевдоним параметризованного типа для бифункторов
У меня есть Seq[R] , и я хочу разделить это на Tuple2[Seq[E], Seq[S]] , пока я кодировал это, я подумал о том, что могу использовать пользовательский Bifunctor для кортежа последовательностей, и в качестве упражнения попытался закодировать это:...
82 просмотров
schedule 28.01.2024

Предотвратить доступ функции друга к частному члену класса
Как мы можем предотвратить доступ функции друга к частному члену класса. Можем ли мы вообще это сделать? Этот вопрос был задан в интервью, и он был уверен, что это можно сделать, он намекнул на объект функтора/функции. Пока ничего не могу...
351 просмотров
schedule 05.06.2024

Почему `fmap sum Just` проверяет тип?
Мы знаем, что fmap — это fmap :: Functor f => (a -> b) -> f a -> f b , а sum — это sum :: (Num a, Foldable t) => t a -> a , но приведенный ниже код меня смущает. > :t (fmap sum Just) (fmap sum Just) :: Num b => b...
174 просмотров
schedule 07.05.2024

Почему присоединяется. (flip fmap) имеют тип ((A -> B) -> A) -> (A -> B) -> B?
Некоторые эксперименты с функторами и монадами в ghci привели меня к значению, тип и поведение которого я хотел бы лучше понять. Тип \x -> join . x — (Monad m) => (a -> m (m b)) -> (a -> m b) , а тип \y -> y . (flip fmap) — (Functor f) => ((a...
200 просмотров
schedule 19.03.2024

Одна и та же функция сравнения дает разные результаты для сортировки и приоритетной очереди в C++
Я пытаюсь понять, как работает пользовательская функция сравнения в STL. Я написал программу ниже и передал пользовательскую функцию функции сортировки STL и очереди приоритетов. Я ожидал, что оба результата будут отсортированы в порядке...
431 просмотров
schedule 18.11.2022