球拍“宇宙”teachpack是FRP的一个例子吗?

时间:2013-07-01 17:28:51

标签: racket reactive-programming frp

2htdp/universe teachpack是否是功能反应式编程的好(或坏)或不好的例子?

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

1 个答案:

答案 0 :(得分:10)

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

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

你经常看到正确的时间。 (好吧,这曾经与current-seconds一起使用;错误报告正在进行中。)据我所知,frtime程序将变量视为事件流,而这个想法对于FRP至关重要。

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

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