2012-02-09 28 views
41

Tôi quan tâm đến FRP (Lập trình phản ứng chức năng) thư viện haskell phản ứng chuối. Bạn sẽ khuyên bạn nên đọc cho một newbie để hiểu lý thuyết đằng sau phản ứng chuối? Theo tôi hiểu, đã có một số tiến bộ trong lĩnh vực này và các thư viện FRP khác nhau sử dụng phương pháp tiếp cận khác nhau, vì vậy tôi không nghĩ rằng bất kỳ giấy FRP sẽ làm.Đề nghị đọc/hướng dẫn để hiểu thư viện FRP phản ứng chuối

+5

+1 chỉ với tên "chuối phản ứng". Tôi không biết gì về FRP, vì vậy tôi đánh giá cao những người đứng đầu lên đó là tốt. – duffymo

Trả lời

9

Về cơ bản có hai nguồn:

  1. Giấy của Conal Elliott "Simply Efficient Functional Reactivity" (cũng như công việc khác của Conal dẫn đến bài viết này).
  2. blog của Apfelmus. Bài viết "Reactive Banana and the Essence of FRP" có lẽ là một điểm khởi đầu tốt.

Thiết kế và ngữ nghĩa của chuối phản ứng được vẽ rất nhiều từ giấy của Conal và thư viện "phản ứng" (từ phản ứng-chuối-0.2). Thảo luận về rất nhiều lý do đằng sau điều này, cũng như sự khác biệt giữa các thư viện, là trong các ý kiến ​​trên blog của Apfelmus. Thật không may "phản ứng" có một số hành vi xấu liên quan đến chức năng "switcher" của nó, do đó, đó là trái ra khỏi chuối phản ứng. Đã có rất nhiều nghiên cứu về bản chất của vấn đề này và cách giải quyết nó, và có vẻ như reactive-banana-0.5 có thể giới thiệu một số phiên bản của "switcher".

+2

Đệ quy! Câu hỏi này có nguồn gốc như là một bình luận trên blog của Apfelmus, mà ông trả lời "repost trên SO và tôi sẽ trả lời nó ở đó". Bài viết của Apfelmus háo hức chờ đợi ... –

+0

Với tôi, "Hoạt hóa phản ứng chức năng" (http://conal.net/papers/icfp97/) là một bài giới thiệu tốt hơn về FRP so với bài báo Đơn giản hiệu quả. Mặc dù việc thực hiện là khác nhau, nhưng ý tưởng và cảm hứng rất rõ ràng trước đây. – luqui

43

Thật không may, tôi chưa viết bất kỳ tài liệu hướng dẫn toàn diện hoặc hướng dẫn nào, chủ yếu là do thư viện phản ứng chuối vẫn còn phần nào trong thông lượng.

Điều này có nghĩa là, tại thời điểm này, bạn sẽ phải tự mình tìm ra từ nhiều nguồn khác nhau, được hỗ trợ bởi kiến ​​thức Haskell mạnh mẽ hợp lý. Những gì tôi có thể làm ở đây là liệt kê các nguồn và nguồn cảm hứng khác nhau.

  • Tài liệu có sẵn cho phản ứng-chuối trực tiếp

    • Thật ngắn introduction - chủ yếu là trả lời cho câu hỏi "Tại sao tôi cần biết về applicative functors để hiểu reactve-chuối?"
    • Tutorial slides [PDF] - giải thích và hình dung các khái niệm về Hành vi và tổ chức sự kiện
    • API Reference
    • Example Code - Các ví dụ bắt đầu đơn giản và thực sự hữu ích trong việc tìm hiểu thư viện.
    • Model implementation - Hãy xem mã nguồn. Hữu ích cho việc hiểu các chi tiết của mô hình lập trình.
  • Kể từ phản ứng-chuối được dựa trên việc Conal Elliott, tác phẩm của ông là một nguồn tốt

+0

Cảm ơn bạn. Đó là những gì tôi đang tìm kiếm - những nguồn mà chính bạn đã sử dụng để làm thư viện này. – EvgenijM86

+1

Nếu bạn quản lý để xây dựng tài liệu toàn diện, thì có lẽ bạn có thể kiếm thêm một số tiền bằng cách bán nó, một cuốn sách la Yesod. –

+1

@DanBurton: Ý tưởng hay! Cần phải được thực sự toàn diện sau đó để đủ điều kiện như là một cuốn sách, mặc dù. Tôi sẽ tìm ra thứ gì đó. –

1

Gần đây tôi chuyển 'trực tiếp' gói của tôi để 'phản ứng-chuối'. Gói dành cho việc xử lý thời gian thực các tin nhắn MIDI, ví dụ: để tạo đệm, trò chơi âm nhạc và một số hiệu ứng thú vị.

http://code.haskell.org/~thielema/reactive-balsa/

Tôi bắt đầu học chuối phản ứng bằng cách nào? Tôi chỉ hỏi tác giả của gói và anh ấy đã giúp tôi làm những bước đầu tiên. Sau khi thực hiện các bước đầu tiên, tôi thấy tài liệu Haddock của gói rất hữu ích. Bây giờ bạn có thể chọn giữa tác giả gói và tôi để cung cấp cho bạn những gợi ý đầu tiên về cách bắt đầu với chuối phản ứng. :-)

2

Tôi đang ở cùng một chiếc thuyền với bạn và tôi đã tìm thấy "FRP explanation using reactive-banana" khi tìm kiếm tài nguyên. Nó nhắm vào những người mới bắt đầu FRP.

Các vấn đề liên quan