ฉันต้องการเรียน FRP ใน Haskell แต่มันค่อนข้างยากที่จะตัดสินใจใช้ห้องสมุด หลายคนดูเหมือนจะพยายามตายบางคนดูเหมือนจะฟื้นคืนชีพ (เช่นกิจกรรมล่าสุดในแยมปา)
จากสิ่งที่ฉันอ่านดูเหมือนว่ามี "ชนิด" ของ FRP อยู่สองแบบ: push-pull FRP (เช่น Reactive-Banana) ที่ด้านหนึ่งและ FRP arrowized (เหมือนใน Yampa) ที่อยู่อีกด้านหนึ่ง ดูเหมือนว่ามันเคยเป็น "FRP แบบคลาสสิค" ในเวลาของ Fran และ FrTime แต่ฉันไม่ได้เห็นกิจกรรมล่าสุดในสิ่งเหล่านี้
สองหรือสามวิธีนี้ต่างกันจริงๆของ FRP หรือไม่
หนึ่งในนั้นคือทฤษฎีที่ล้าสมัยในขณะที่อีกอันจะเป็น "สิ่งของแห่งอนาคต"?
หรือพวกเขาจะต้องพัฒนาไปพร้อม ๆ กันเพื่อบอกจุดประสงค์ที่แตกต่างกัน?
ฉันตั้งชื่อห้องสมุดที่โดดเด่นที่สุดของแต่ละหมวดหมู่หรือมีตัวเลือกอื่น ๆ ให้พิจารณา (Sodium, Netwire, et al) หรือไม่
ในที่สุดฉันก็ดูคำปราศรัยจาก Evan Czaplickiแนะนำในความคิดเห็นโดยเจ Abrahamson มันน่าสนใจมากและช่วยอธิบายสิ่งต่าง ๆ ให้ฉัน ฉันขอแนะนำให้ทุกคนที่พบคำถามนี้น่าสนใจ
reactive-banana
เป็นแบบ pull-based ไม่ใช่แบบ push-pull reactive
เป็นแบบผลัก Yampa
และnetwire
มีลูกศร มี FRP ที่อนุญาตให้ "สะสมค่า" แต่ไม่อนุญาตให้ "สลับ", FRP ที่อนุญาตให้ "สลับ" แต่ไม่ "สะสมค่า" ทั้งคู่เป็น FRP "แบบง่าย" Arrowized FRP ช่วยให้สามารถสลับและสะสมและใช้ลูกศรเพื่อควบคุมอันตรายของการรวมคุณสมบัติเหล่านั้น Monadic FRP เป็นเช่นreactive-banana
นั้นsodium
และelerea
ใช้กลไกที่ระมัดระวังอื่น ๆ เพื่อให้แน่ใจว่าการสลับและการสะสมไม่ได้มีปฏิสัมพันธ์มากเกินไป