Virtualizing Real-World Objects in FRP

10 years 23 days ago
Virtualizing Real-World Objects in FRP
We begin with a functional reactive programming (FRP) model in which every program is viewed as a signal function that converts a stream of input values into a stream of output values. We observe that objects in the real world – such as a keyboard or sound card – can be thought of as signal functions as well. This leads us to a radically different approach to I/O – instead of treating real-world objects as being external to the program, we expand the sphere of influence of program execution to include them within the program. We call this virtualizing real-world objects. We explore how even virtual objects, such as GUI widgets, and non-local effects, such as are needed for debugging (using something that we call a “wormhole”) and random number generation, can be handled in the same way. Our methodology may at first seem na¨ıve – one may ask how we prevent a virtualized device from being copied, thus potentially introducing non-determinism as one part of a program com...
Daniel Winograd-Cort, Hai Liu, Paul Hudak
Added 25 Apr 2012
Updated 25 Apr 2012
Type Journal
Year 2012
Where PADL
Authors Daniel Winograd-Cort, Hai Liu, Paul Hudak
Comments (0)