Запитання з тегом «functor»

Термін "функтор" має кілька загальних значень: 1. Об'єкт функції. В об’єктно-орієнтованих мовах це функція, яка дозволяє використовувати об’єкти так, ніби це звичайні функції. 2. Математична структура, яка займається відображенням між категоріями. Ця концепція є корисною абстракцією для деяких мов програмування, зокрема Haskell, де вона реалізована як клас типу. 3. В OCaml, модуль, який приймає інший модуль як аргумент.


6
Функція передана як аргумент шаблону
Я шукаю правила, пов’язані з передачею функцій шаблонів C ++ як аргументів. Це підтримується C ++, як показано на прикладі тут: #include <iostream> void add1(int &v) { v+=1; } void add2(int &v) { v+=2; } template <void (*T)(int &)> void doOperation() { int temp=0; T(temp); std::cout << "Result is " …

17
Що стосується функціонального програмування, що таке функтор?
Я декілька разів стикався з терміном "Functor", читаючи різні статті про функціональне програмування, але автори зазвичай припускають, що читач уже розуміє цей термін. Оглянувшись в Інтернеті, ви отримали або надмірно технічні описи (див. Статтю у Вікіпедії ), або неймовірно розпливчасті описи (див. Розділ про функціонерів на цьому веб-сайті з навчального …

5
Хороші приклади не функціонера / функціонера / додатка / монади?
Пояснюючи комусь, що таке клас X, я намагаюся знайти хороші приклади структур даних, які є саме X. Отже, я прошу приклади для: Конструктор типу, який не є Функтором. Конструктор типу, який є функтором, але не є застосунним. Конструктор типу, який є додатком, але не є монадою. Конструктор типу - це …

5
F # зміни до OCaml [закрито]
Зачинено. Це питання не відповідає вказівкам щодо переповнення стека . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для переповнення стека. Закрито 4 роки тому . Удосконаліть це питання F # походить від OCaml, але які основні елементи відсутні або додані? Конкретно мені цікаво, …
126 f#  ocaml  functor 


11
Чому я не можу визначити функцію всередині іншої функції?
Це не питання лямбда-функції, я знаю, що можу призначити лямбда змінній. Який сенс дозволяти нам оголошувати, але не визначати функцію всередині коду? Наприклад: #include <iostream> int main() { // This is illegal // int one(int bar) { return 13 + bar; } // This is legal, but why would I …

5
Монади як приєднання
Я читав про монади в теорії категорій. В одному визначенні монад використовується пара суміжних функторів. Монада визначається в обидва кінці з використанням цих функторів. Очевидно, що приєднання дуже важливі в теорії категорій, але я не бачив жодного пояснення монад Хаскела з точки зору суміжних функторів. Хтось замислювався над цим?

7
Чому я повинен використовувати аплікативні функтори у функціональному програмуванні?
Я новачок у Haskell, і я читаю про функтори та аплікативні функтори. Добре, я розумію функтори та те, як я можу ними користуватися, але я не розумію, чому аплікативні функтори корисні та як я можу використовувати їх у Haskell. Чи можете ви пояснити мені на простому прикладі, чому мені потрібні …

3
Чи є усі контейнери фіксованого розміру сильними моноїдними функторами та / або навпаки?
Клас Applicativeтипу являє собою мляві моноїдні функтори, які зберігають декартову моноїдну структуру на категорії типових функцій. Іншими словами, з огляду на канонічні ізоморфізми, що свідчать про (,)формування моноїдної структури: -- Implementations left to the motivated reader assoc_fwd :: ((a, b), c) -> (a, (b, c)) assoc_bwd :: (a, (b, c)) …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.