This makes use of an interaction between the Event and IO monads, and is compatible with a more expression-oriented FRP: planNow :: Event (IO a) -> IO (Event a) There are two types of FRP systems, push-based and pull-based.
它采用了事件 Event 和 IO 单子之间的交互，并与更加面向表达式的 FRP 兼容： planNow :: Event (IO a) -> IO (Event a) 存在两种类型的 FRP 系统，基于推送的和基于拉取的。