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
Trả lời
Nó không phản ứng chuối nhưng tôi thấy loạt bài này hữu ích cho sự hiểu biết FRP, xây dựng một trò chơi pong nhỏ từ đầu.
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
Về cơ bản có hai nguồn:
- 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).
- 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".
Đệ 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 ... –
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
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
- "Functional Reactive Animation" - chung, tổng quan mặc dù hơi lỗi thời của FRP.
- "Declarative event-oriented programming" - Ví dụ thực tế thể hiện tiện ích của FRP cho lập trình GUI. Giới thiệu tuyệt vời về triết lý lập trình chung.
- "Push-pull functional reactive programming" - Đọc tốt để hiểu cách mô hình được ánh xạ tới API về mặt ứng dụng và các hàm khác.
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
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. –
@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ì đó. –
Tôi đã viết blog về FRP và chuối phản ứng. Hãy xem ở đây và xem nếu nó có thể hữu ích:
http://alfredodinapoli.wordpress.com/2011/12/24/functional-reactive-programming-kick-starter-guide/
HTH,
A.
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. :-)
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.
- 1. Hành vi trong chuối phản ứng
- 2. Bảng phản ứng với chuối phản ứng và gtk2hs
- 3. Tôi có sử dụng chuối phản ứng đúng không?
- 4. Đẩy và kéo trong chuối phản ứng
- 5. đề nghị thư viện Scala io
- 6. Có phản ứng chuối-gtk không?
- 7. FRP (phản ứng): Làm thế nào để sử dụng filterE?
- 8. Đề nghị một Thư viện Thống kê Nguồn Mở .NET
- 9. Làm thế nào để làm cho hành vi có hành vi khác trong phản ứng chuối
- 10. khác biệt trong .NET Nghị định thư Buffer thư viện
- 11. nodejs thư viện yêu cầu, có thời gian phản ứng
- 12. Nghị định thư Buffer: Enum vấn đề
- 13. Xử lý các tiện ích GUI đệ quy cùng với chuối phản ứng
- 14. Làm thế nào để bạn loại bỏ các sự kiện lặp lại trong chuối phản ứng
- 15. Có gì sai với "sự kiện tổng hợp" của tôi trong chuối phản ứng?
- 16. Khuyến nghị cho Thư viện ma trận C#
- 17. Haskell: FRP Reactive Parsec?
- 18. Đường dẫn thư viện Python
- 19. Thư viện phản chiếu C++ 11
- 20. Đầu vào giao diện người dùng với phản ứng-chuối-wx
- 21. Thư viện/hướng dẫn để thao tác video trong java
- 22. Thư viện C++ để xây dựng đường dẫn thực hiện
- 23. C# Thư viện để dễ phản xạ động
- 24. Đường dẫn thư viện Ubuntu Linux
- 25. Đề nghị gói Zsh
- 26. XCode Thư viện đường dẫn tìm kiếm
- 27. Đường dẫn cho thư viện Delphi
- 28. Làm thế nào để thiết lập đường dẫn thư viện C# cho một ứng dụng?
- 29. Đề nghị thực hành để lưu trữ cấu hình tạm thời của ứng dụng
- 30. Đề nghị chuyển đổi từ ứng dụng Qt sang ứng dụng Web
+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