加载中...

函数响应式编程(Functional Reactive Programming,FRP)是一种以"随时间连续变化的值"(behavior/signal)与"离散事件流"(event)为一等公民的编程范式:程序被写成对这些时变值的纯函数变换与组合,运行时负责随时间传播更新。
概念由 Conal Elliott 与 Paul Hudak 于 1997 年在论文《Functional Reactive Animation》中提出,最初用于声明式动画。此后发展出经典 FRP、箭头化 FRP 等多个流派,以在表达力与内存可控性间取舍。
FRP 思想催生了大量工业实践:ReactiveX 家族(RxJS、RxJava)把事件流抽象为可组合的 Observable;Elm 早期架构、React hooks 生态的信号库(如 Solid 的 signal)、Svelte 的响应式声明都受其影响。GUI、游戏、机器人控制与传感器数据处理是典型场景。
FRP 用声明式组合替代散落的回调与手工状态同步,显著降低交互逻辑复杂度;但严格意义的连续时间语义实现困难,工业界多采用其离散化、简化的变体。

登录 后参与讨论
暂无讨论,来发表第一条评论吧