Меня интересует FRP (функциональное реактивное программирование) реактивно-банановая библиотека haskell. Что бы вы посоветовали прочитать для новичков, чтобы понять теорию реактивного банана? Насколько я понимаю, в этой области достигнут определенный прогресс, и в разных FRP-библиотеках используются разные подходы, поэтому я не думаю, что любая FRP-бумага сделана.
Рекомендуемые чтения/учебники для понимания библиотеки FRP с реактивной банановой
Ответ 1
К сожалению, я еще не написал исчерпывающей документации или учебников, главным образом потому, что библиотека реактивно-бананов по-прежнему несколько в движении.
Это означает, что в настоящий момент вам нужно будет разобраться в себе из разных источников, опираясь на достаточно сильные знания Хаскелла. Что я могу сделать здесь, это перечислить различные источники и вдохновения.
-
Документация доступна для реактивного банана напрямую
- Действительно короткое введение - в основном отвечает на вопрос "Почему мне нужно знать об аппликативных функторах, чтобы понять реакцию-банана?"
- Учебные слайды [PDF] - объясните и визуализируйте концепции поведения и события
- Ссылка на API
- Пример кода - примеры начинаются просто и очень полезны для понимания библиотеки.
- Реализация модели - Посмотрите исходный код. Полезно для понимания деталей модели программирования.
-
Так как реактивно-банановая основа основана на работе Коналла Эллиотта, его работы являются хорошим источником
- "Функциональная реактивная анимация" - общий, хотя и несколько устаревший обзор FRP.
- "Декларативное событие-ориентированное программирование" - Практический пример, демонстрирующий полезность FRP для программирования графического интерфейса. Отличное введение в общую философию программирования.
- "Push-pull функциональное реактивное программирование" - Хорошо читайте для понимания того, как модель сопоставляется с API с точки зрения аппликативных и других функторов.
Ответ 2
В основном есть два источника:
- Бумага Коналла Эллиотта Просто эффективная функциональная реактивность" (а также другие работы, ведущие к этой статье).
- Блог Apfelmus. Статья "Реактивная банана и сущность FRP", вероятно, является хорошей отправной точкой.
Конструкция и семантика реакционноспособных бананов сильно зависят от бумаги Конала и его "реактивной" библиотеки (так как реакционно-банановая-0,2). Обсуждение многих аргументов по этому поводу, а также различий между библиотеками, содержится в комментариях к блогу Apfelmus. К сожалению, "реактивный" имеет некоторое плохое поведение, связанное с его функцией "переключателя", так что это было исключено из реактивного банана. Было много исследований природы этой проблемы и ее решения, и похоже, что реактивный банан-0,5 может ввести некоторую версию "переключателя".
Ответ 3
Это не реактивный банан, но я нашел эту серию полезной для понимания FRP, создавая игру с маленькими понами с нуля.
https://github.com/leonidas/codeblog/blob/master/2012/2012-01-08-streams-coroutines.md https://github.com/leonidas/codeblog/blob/master/2012/2012-01-17-declarative-game-logic-afrp.md
Ответ 4
Я писал о FRP и реактивном банане. Взгляните сюда и посмотрите, может ли быть полезно:
http://alfredodinapoli.wordpress.com/2011/12/24/functional-reactive-programming-kick-starter-guide/
НТН,
а.
Ответ 5
Я нахожусь в той же лодке, что и вы, и я нашел "FRP-объяснение с использованием реактивного банана" при поиске ресурсов. Он ориентирован на начинающих FRP.
Ответ 6
Недавно я портировал свой "потоковый" пакет на "реактивный банан". Пакет предназначен для обработки MIDI-сообщений в режиме реального времени, например. для создания сопровождения, музыкальных игр и некоторых забавных эффектов.
http://code.haskell.org/~thielema/reactive-balsa/
Как я начал изучать реактивный банан? Я просто спросил автора пакета, и он любезно помог мне сделать первые шаги. Сделав первые шаги, я обнаружил, что документация пакета Haddock очень полезна. Теперь вы можете выбрать между автором пакета и мной, чтобы дать вам первые подсказки о том, как начать с реактивного банана.: -)