Функціональне реактивне / реляційне програмування - чи є різниця?


12

Я вже деякий час використовую Реактивний какао (від GitHub), API функціонального реактивного програмування для використання з бібліотеками какао, але я тільки що прочитав "З ями дьогтю" , документ, який нібито представляє поняття, що стоять за ним, і я трохи розгублений.

У статті представлено (наскільки я це розумію) функціональне реляційне програмування, де відносини між даними створюються з умовами, які повинні застосовувати система FRP, щоб зменшити кількість "випадкових" логіки та стану, необхідних.

Моє запитання: чи ці два поняття - FR (дієздатне) P та FR (розроблене) P - це по суті одне і те ж (коли перша лише є реалізацією другої) чи є різниця між ними? На жаль, на даний момент мої знання про цю область недостатньо хороші для того, щоб я їх досить диференціював.

Якщо є різниця, схоже, щось пов'язане, як випливає з назви, реагуючи на зміни в даних. Безумовно, Реактивне какао (і Rx в C #) має концепцію створення сигналів, які спрацьовують на зміні даних, і їх можна використовувати для постійного зміни значення в часі.

Це різниця? Якщо ні, що таке?

(Вибачте про те, що теги є поганими, я не можу знайти відповідні теги та ще не можу їх створити. Будь ласка, оновіть теги на щось більш відповідне, якщо можете.)


2
"З-під дьогтьової ями" не представлені концепції, що стоять за функціональним реактивним програмуванням - це просто добре прочитати, щоб зрозуміти, чому стан шкідливий. Більшість це стосується чистого FP, FRelP та FReaP.
Джастін Спар-Саммерс

Відповіді:


5

Реакція може пропонувати зміну без залучення реляційної моделі. C = A + B Зміна A та / або B і C реагуватимуть на зміну (але може закінчитися тим же значенням). На с. 42

Підхід функціонального реляційного програмування (FRP16) отримав свою назву від того, що основні компоненти системи (логіка та істотний стан) базуються на функціональному програмуванні та реляційній моделі (див. Рис. 2).

виноска 16

Не слід плутати з функціональним реактивним програмуванням [EH97], який насправді має певну схожість із цим підходом, але не має внутрішньої орієнтації на відносини чи реляційну модель


А, бачу. Здається, є багато перехресних реакцій з реактивними рамками, про які я згадував, та функціональним реляційним програмуванням, звичайно, є деякі з присутніх концепцій, але вони також черпають свої концепції сигналів із поведінки та подій другої статті.
danpalmer

3
Перехресне здебільшого знаходиться на рівні чистого ПП. Реляційні та реактивні парадигми насправді не мають багато спільного.
Джастін Спар-Саммерс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.