Estou usando o Reactive Cocoa (do GitHub), uma API de programação funcional reativa para uso com as bibliotecas do Cocoa há algum tempo, mas acabei de ler "Out of the Tar Pit" , o artigo que supostamente apresenta os conceitos por trás dele, e estou um pouco confuso.
O artigo apresenta (como eu o entendo) a Programação Relacional Funcional , onde as relações entre os dados são criadas com condições que devem ser impostas pelo sistema FRP para reduzir a quantidade de lógica e estado 'acidental' necessários.
Minha pergunta é: esses dois conceitos - FR (ativo) P e FR (elacional) P são essencialmente a mesma coisa (com o primeiro sendo apenas uma implementação do último) ou há uma diferença central entre os dois? Infelizmente, no momento, meu conhecimento da área não é bom o suficiente para diferenciá-los o suficiente.
Se houver uma diferença, parece haver algo a ver com, como o nome sugere, reagir a alterações nos dados. Certamente, cacau reativo (e Rx em C #) têm o conceito de criar sinais que são acionados por alterações nos dados e podem ser usados para modificar continuamente um valor ao longo do tempo.
Essa é a diferença? Se não, o que é?
(Desculpe a marcação incorreta, não consigo encontrar tags relevantes e ainda não consigo criá-las. Atualize as tags para algo mais apropriado, se possível.)
Respostas:
Uma reação pode propagar uma mudança sem envolver um modelo relacional. C = A + B A alteração A e / ou B e C reagirão à alteração (mas podem terminar com o mesmo valor). Na p. 42.
nota 16
fonte