Conal M. Elliott: Push-pull functional reactive programming. Haskell 2009: 25-36