Programmazione reattiva / relazionale funzionale - C'è una differenza?

12

Ho utilizzato Reactive Cocoa (di GitHub), un'API di programmazione Reactive funzionale per usa le librerie Cocoa per un po 'di tempo, ma leggi "Fuori dal catrame" , il documento quello presumibilmente presenta i concetti dietro di esso, e io sono un po 'confuso.

Il documento presenta (a quanto ho capito) Functional Programmazione relazionale , in cui le relazioni tra i dati vengono create con condizioni che dovrebbero essere applicate dal sistema FRP per ridurre la quantità di logica e stato "accidentale" necessario.

La mia domanda è: questi due concetti - FR (intuitivo) P e FR (elazionale) P sono essenzialmente la stessa cosa (se il primo è solo un'implementazione di quest'ultimo) o c'è una differenza fondamentale tra i due? Purtroppo al momento la mia conoscenza dell'area non è abbastanza buona per permettermi di differenziarli abbastanza.

Se c'è una differenza, sembra che abbia a che fare con qualcosa, come suggerisce il nome, reagendo ai cambiamenti nei dati. Certamente, Reactive Cocoa (e Rx in C #) hanno il concetto di creare segnali che vengono attivati su modifiche nei dati e possono essere utilizzati per modificare continuamente un valore nel tempo.

Questa è la differenza? In caso contrario, che cos'è?

(Si prega di scusare la scarsa codifica, non riesco a trovare i tag pertinenti e non posso ancora crearli - per favore aggiorna i tag a qualcosa di più appropriato se puoi.)

    
posta danpalmer 12.04.2013 - 17:20
fonte

1 risposta

5

Una reazione può propagare un cambiamento senza coinvolgere un modello relazionale. C = A + B Cambia A e / o B e C reagiranno al cambiamento (ma potrebbero finire con lo stesso valore). a p. 42

The approach of functional relational programming (FRP16) derives its name from the fact that the essential components of the system (the logic and the essential state) are based upon functional programming and the relational model (see Figure 2).

nota 16

Not to be confused with functional reactive programming [EH97] which does in fact have some similarities to this approach, but has no intrinsic focus on relations or the relational model

    
risposta data 12.04.2013 - 18:37
fonte