8

2htdp/universe教学包是功能响应式编程的好(或坏,或不是)示例吗?

它似乎符合这个概念(世界的新状态建立在每个滴答/输入上),但我从未见过与之相关的 FRP 标签。

4

1 回答 1

11

Racket 编程语言系列附带FrTime,一种将(大部分)Racket 转换为 FRP 语言的语言。例如,如果您在提示符下运行此交互,

> (current-time)
Tue Jul  2 09:31:06 EDT 2013

你不断地看到正确的时间。(好吧,这曾经与current-seconds.

相比之下,Universe 程序将事件处理程序(和渲染函数)显式绑定到某些 OS 挂钩(例如鼠标单击)。这些处理程序获取完整状态并返回完整状态以及操作请求(例如消息发送)。从这个意义上说,Universe 不是 FRP 语言。

如果要将语言分为显式和隐式 FRP 语言,则可以将 Universe 教学包归类为显式 FRP 语言。

于 2013-07-02T13:37:44.500 回答