Каков статус функционального реактивного программирования в Python?

Я нашел эту статью ("Практическое функциональное реактивное программирование"), авторы (насколько я понимаю) пытаются создать библиотеку FRP на Python в духе Yampa.

Я также нашел эти интересные слайды с участием SPJ! Слайды, кажется, заключают, что реализовать FRP на языке с динамической типизацией не так просто — к сожалению, пункты списка на этих слайдах на самом деле не объясняют, почему.

Почему, видимо, не так много реализаций FRP на Python? Почему это более распространено в Haskell? Действительно ли необходима статическая типизация для FRP? Сколько мы выиграем от статической типизации в FRP? Это очень важно или можно обойтись без него (если вы пишете всего несколько тысяч строк кода FRP)?

Мне действительно интересно, если SodiumFRP можно реализовать на C, Java, Haskell и т. д., то в чем проблема с Питон?

Уместно отметить, что в JS на данный момент также нет реальной реализации FRP (2015.08.04), так что это говорит о том, что причиной является отсутствие статической типизации в Python, хотя я не уверен, отсюда и вопрос.

ОБНОВЛЕНИЕ: интересно, я наткнулся на потоковое программирование в Python. Как FBP и FRP связаны друг с другом? Они только немного отличаются, по крайней мере, у меня такое первое впечатление, когда я сравниваю нижнюю часть средних символов акронимов.


person jhegedus    schedule 04.09.2015    source источник
comment
Ваш второй это пропустил свою ссылку? Я нашел этот документ по этой теме, но я не нашел ни одного обзора о том, что доступно.   -  person Yu Zhang    schedule 04.09.2015
comment
Подавляющее большинство сообщества Python не проявляет особого интереса к функциональному программированию, кроме базовых операций, таких как карты и складки. Это просто не то сообщество, где FRP, который сейчас, возможно, все еще находится на стадии исследования, стал бы чрезвычайно популярным.   -  person Cubic    schedule 04.09.2015
comment
@Cubic: интересный момент.   -  person jhegedus    schedule 04.09.2015
comment
Обратите внимание, что существует разница между FRP и RP, как указал Андре Штальц в gist.github.com/staltz/ 868e7e9bc2a7b8c1f754, который стоит прочитать, если вы заинтересованы в RP. Об этом упоминается во втором комментарии, где он говорит, что FRP — это вариант RP с функциональным программированием. Я понимаю, что это означает, что FRP — это один из способов реализации RP, и оба они имеют общий набор характеристик, таких как управление событиями, отзывчивость, масштабируемость и отказоустойчивость с точки зрения реактивного манифеста TypeSafe, см. slideshare.net/deanwampler/.   -  person    schedule 04.09.2015
comment
Я знаю Андре, мы совместно организуем meetup.com/Helsinki-Functional-Reactive -Программирование-Встреча. Мой вопрос ограничен FRP.   -  person jhegedus    schedule 04.09.2015
comment
Для доводчиков: если вы закроете этот вопрос, пожалуйста, закройте и его: stackoverflow.com/questions/13341937/ , в противном случае, пожалуйста, снова откройте, потому что этот вопрос полезен, по моему очень скромному мнению.   -  person jhegedus    schedule 04.09.2015
comment
@jhegedus не вините доводчиков. Я проголосовал за повторное открытие, но мне потребовалось некоторое время (и ссылка на вопрос о Haskell), чтобы решить, что это не слишком ленивый вопрос для поиска. Другой вопрос гораздо более конкретен. Например, это не просто ссылки на некоторые статьи, но и краткое изложение того, что в них есть. Как бы то ни было, ваш вопрос заставляет людей читать статьи только для того, чтобы понять, о чем вы спрашиваете. Вам еще нужно уговорить двух других, поэтому предлагаю вам улучшить вопрос   -  person Panagiotis Kanavos    schedule 04.09.2015
comment
@PanagiotisKanavos, верно, согласен. Я пытаюсь улучшить вопрос.   -  person jhegedus    schedule 04.09.2015


Ответы (2)


"Reactive Extensions for Python (RxPY)" имхо ближе всего к FRP с Python.

person Red Pill    schedule 11.05.2016

Существует также aioreactive, в котором используются новые языковые функции, такие как async/await.

person Rotareti    schedule 28.03.2018