来自ReactiveX简介页
它有时被称为“函数式反应性编程”,但这是用词不当。ReactiveX可能是功能性的,也可能是反应性的,但是“功能性反应编程”是一种不同的动物。一个主要的不同点是函数式反应编程对随时间而不断变化的值进行操作,而ReactiveX则对随时间而发出的离散值进行操作。
同时,在维基百科的功能反应编程页面中,“实现”部分列出了ReactiveX:
实施
我非常理解ReactiveX所做的工作,并对“反应性编程”和“函数式反应编程”进行了一些研究,但我仍然无法区分它们之间的关系。
事实上,我认为维基百科页面用词不当,或者在“实现”部分中列出了错误的例子,因为我知道细胞和ReactiveX (都列在示例中)是为了解决完全不同的问题而构建的。
发布于 2016-02-26 11:03:59
反应性香蕉库的作者。
功能反应规划(RP)和反应规划(RP)的关键区别在于前者具有定义良好的表示语义,通常是从类型中获得的。
type Behavior a ~= Time -> a
type Event a ~= [(Time, a)]而后者没有一个定义良好的表示语义。特别是,我所知道的所有RX实现都存在合并事件流不确定的问题:当流包含同时发生的事件时,有时一个事件在另一个事件之前合并,有时则相反。
此外,关于“玻璃钢作用于随着时间而不断变化的价值”的说法微妙地不正确,而不是关键的区别:
Time -> a",这不是真的:行为可以是dis_continuous,例如,它们可以是step函数。实际上,玻璃钢中的Time通常被视为实数,即值的_continuum。https://stackoverflow.com/questions/35646413
复制相似问题