2012-02-09 5 views
41

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

+5

+1 tylko dla nazwy "reaktywny banan". Nie znam się na FRP, więc doceniam też tamtejszych szefów. – duffymo

Odpowiedz

9

Istnieją dwa źródła:

  1. Papier Conal Elliott "Simply Efficient Functional Reactivity" (a także inne prace Conala prowadzące do tego artykułu).
  2. 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".

+2

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 ... –

+0

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

43

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

+0

Dziękuję. Tego właśnie szukałem - źródeł, z których sam korzystałeś przy tworzeniu tej biblioteki. – EvgenijM86

+1

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. –

+1

@DanBurton: Dobry pomysł! Musi być naprawdę wszechstronny, aby zakwalifikować się jako książka. Coś wymyślę. –

1

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. :-)

Powiązane problemy