Jestem zainteresowany programem FRP (Functional Reactive Programming) reaktywna-bananowa biblioteka haskell. Co poleciłbyś czytając nowicjuszowi, aby zrozumieć teorię dotyczącą reaktywnego banana? Jak rozumiem, nastąpiły pewne postępy w tej dziedzinie, a różne biblioteki FRP stosują różne podejścia, więc nie sądzę, że by to zrobiła jakaś dokumentacja FRP.Zalecane lektury/samouczki, aby zrozumieć bibliotekę reaktywnych bananów z biblioteki FRP
Odpowiedz
To nie jest reaktywny banan, ale uważam, że ta seria jest pomocna w zrozumieniu FRP, budowaniu małej gry ponga od zera.
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
Istnieją dwa źródła:
- Papier Conal Elliott "Simply Efficient Functional Reactivity" (a także inne prace Conala prowadzące do tego artykułu).
- Blog Apfelmus. Artykuł "Reactive Banana and the Essence of FRP" jest prawdopodobnie dobrym punktem wyjścia.
Konstrukcja i semantyka reaktywnego banana w dużej mierze czerpią z papieru Conala i jego "reaktywnej" biblioteki (od reaktywnego banana-0.2). Dyskusja na temat wielu przyczyn tego, a także różnic między bibliotekami, znajduje się w komentarzach na blogu Apfelmus. Niestety "reaktywne" ma pewne złe zachowanie związane z jego funkcją "przełącznika", więc zostało pominięte w reaktywnym bananie. Było dużo badań nad naturą tego problemu i jak go rozwiązać, i wygląda na to, że reactive-banana-0.5 może wprowadzić pewną wersję "przełącznika".
Rekursja! To pytanie powstało jako komentarz do bloga Apfelmusa, na który odpowiedział "repost na SO, a ja tam odpowiem". Apfelmus czeka z niecierpliwością na ... –
Dla mnie "Funkcjonalna animacja reaktywna" (http://conal.net/papers/icfp97/) jest lepszym wprowadzeniem do FRP niż papier Simply Efficient. Chociaż realizacja jest inna, pomysły i inspiracje są bardzo jasne w pierwszym. – luqui
Niestety, nie napisałem jeszcze żadnej obszernej dokumentacji ani samouczków, głównie dlatego, że biblioteka banków reaktywnych wciąż nieco się zmienia.
Oznacza to, że w tej chwili będziesz musiał wymyślić różne rzeczy z różnych źródeł, poparte rozsądnie silną wiedzą Haskella. Mogę tu wymienić różne źródła i inspiracje.
Dokumentacja dostępna dla biernej-banana bezpośrednio
- Naprawdę krótki introduction - głównie odpowiada na pytanie: „Dlaczego muszę wiedzieć o funktory aplikacyjnych w celu zrozumienia reactve-banana?”
- Tutorial slides [PDF] - wyjaśnić i wizualizację koncepcji zachowania i zdarzenia
- API Reference
- Example Code - Przykłady rozpocząć proste i są bardzo przydatne dla zrozumienia bibliotekę.
- Model implementation - Sprawdź kod źródłowy. Przydatny do zrozumienia szczegółów modelu programowania.
Od reaktywnie bananów opiera się na pracy Conal Elliotta, jego pisma są dobrym źródłem
- "Functional Reactive Animation" - ogólne, choć nieco przestarzały przegląd FRP.
- "Declarative event-oriented programming" - Przykład praktyczny ilustrujący przydatność programu FRP do programowania GUI. Doskonałe wprowadzenie do ogólnej filozofii programowania.
- "Push-pull functional reactive programming" - Dobra lektura dla zrozumienia, w jaki sposób model jest mapowany na API pod względem funktorów aplikacyjnych i innych.
Dziękuję. Tego właśnie szukałem - źródeł, z których sam korzystałeś przy tworzeniu tej biblioteki. – EvgenijM86
Jeśli uda Ci się zebrać obszerną dokumentację, być może będziesz mógł zarobić dodatkowe pieniądze, sprzedając ją, a la Yesod book. –
@DanBurton: Dobry pomysł! Musi być naprawdę wszechstronny, aby zakwalifikować się jako książka. Coś wymyślę. –
mam blogu o FRP-reaktywnego i banana. Spójrz tutaj i zobaczyć, czy to może być przydatne:
http://alfredodinapoli.wordpress.com/2011/12/24/functional-reactive-programming-kick-starter-guide/
HTH,
A.
Niedawno przeportowany moje 'strumieniowo' pakiet do 'reaktywny-bananowy'. Pakiet jest przeznaczony do przetwarzania komunikatów MIDI w czasie rzeczywistym, np. do generowania dodatków, gier muzycznych i zabawnych efektów.
http://code.haskell.org/~thielema/reactive-balsa/
Jak mogłem rozpocząć naukę reaktywnie banana? Właśnie zapytałem autora paczki i uprzejmie pomógł mi zrobić pierwsze kroki. Po zrobieniu pierwszych kroków znalazłem dokumentację pakietu Haddock bardzo pomocną. Teraz możesz wybrać między autorem pakietu a mną, aby dać ci pierwsze wskazówki, jak zacząć od reaktywnego banana. :-)
Jestem w tej samej łodzi co ty, i znalazłem "FRP explanation using reactive-banana" przy poszukiwaniu zasobów. Jest skierowany do początkujących FRP.
+1 tylko dla nazwy "reaktywny banan". Nie znam się na FRP, więc doceniam też tamtejszych szefów. – duffymo