Наиболее современная реализация -- Data.Reactive, в ней к сожалению неправильно работает join (особенно в фильтрации событий) и исключительно криво работают recursive integrations (людям из маиллиста непросто было даже сделать шарик отскакивающий от границ экрана).
Старые реализации это:
1. "Классическое фрп" в первоначальной формулировке -- работает, но с ужасными мемликами. 2. Yampa и прочее arrow-based frp -- оно работает, и без мемликов, но пользоваться им imho весьма тяжело, поскольку принципиальные объекты -- не first-class. Хотя возможно для кое-каких практических применений оно подойдет. И не стоит забывать что проект заброшен.
Есть еще аналоги Data.Reactive, более работающие в некоторых местах, но менее -- в других, к примеру -- fregl от Luke Palmer.
Наиболее современная реализация -- Data.Reactive, в ней к сожалению неправильно работает join (особенно в фильтрации событий) и исключительно криво работают recursive integrations (людям из маиллиста непросто было даже сделать шарик отскакивающий от границ экрана).
Про фильтрацию событий: мне вообще непонятно, зачем было делать события списками. У себя я просто сделал процессы -- подождали события и вернули значение. Никаких списков и фильтров. Как-то не нужны оказались.
А кто такие recursive integrations? Какие с ними сложности?
Старые реализации это:
1. "Классическое фрп" в первоначальной формулировке -- работает, но с ужасными мемликами.
2. Yampa и прочее arrow-based frp -- оно работает, и без мемликов, но пользоваться им imho весьма тяжело, поскольку принципиальные объекты -- не first-class. Хотя возможно для кое-каких практических применений оно подойдет. И не стоит забывать что проект заброшен.
Есть еще аналоги Data.Reactive, более работающие в некоторых местах, но менее -- в других, к примеру -- fregl от Luke Palmer.
http://lukepalmer.wordpress.com/2008/11/23/screw-laziness/ -- вот принадлежащий ему анализ текущей ситуации.
Я искренне надеюсь что когда-нибудь ситуация изменится. Но пока что, к сожалению, о практическом использовании фрп вряд ли можно говорить.
// pierre
Reply
А чем потоковые процессоры не подходят?
Reply
Про фильтрацию событий: мне вообще непонятно, зачем было делать события списками. У себя я просто сделал процессы -- подождали события и вернули значение. Никаких списков и фильтров. Как-то не нужны оказались.
А кто такие recursive integrations? Какие с ними сложности?
Reply
Leave a comment