LUCID, the dataflow programming language
LUCID, the dataflow programming language
SIGNAL: A declarative language for synchronous programming of real-time systems
Proc. of a conference on Functional programming languages and computer architecture
LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
CML: A higher concurrent language
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
The Haskell school of expression: learning functional programming through multimedia
The Haskell school of expression: learning functional programming through multimedia
Functional Implementations of Continuous Modeled Animation
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Modular Domain Specific Languages and Tools
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Compiling real time functional reactive programming
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
Functional reactive robotics: an exercise in principled integration of domain-specific languages
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Functional reactive programming, continued
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Temporal concurrent constraint programming: denotation, logic and applications
Nordic Journal of Computing
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Directions in Functional Programming for Real(-Time) Applications
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
ReactiveML: a reactive extension to ML
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
A delta-driven execution model for semantic computing
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A: an assertion language for distributed systems
Proceedings of the 3rd workshop on Programming languages and operating systems: linguistic support for modern operating systems
A history of Haskell: being lazy with class
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Lowering: a static optimization technique for transparent functional reactivity
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Journal of Computing Sciences in Colleges
Safe functional reactive programming through dependent types
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Type-specialized staged programming with process separation
Proceedings of the 2009 ACM SIGPLAN workshop on Generic programming
Push-pull functional reactive programming
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Language support for processing distributed ad hoc data
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
State management and concurrency in event processing
Proceedings of the Third ACM International Conference on Distributed Event-Based Systems
Directing JavaScript with arrows
DLS '09 Proceedings of the 5th symposium on Dynamic languages
Links: web programming without tiers
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Mathematical equations as executable models of mechanical systems
Proceedings of the 1st ACM/IEEE International Conference on Cyber-Physical Systems
Collecting hollywood's garbage: avoiding space-leaks in composite events
Proceedings of the 2010 international symposium on Memory management
Programming with time: cyber-physical programming with impromptu
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Determining actual response time in P-FRP
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
A core language for executable models of cyber physical systems: work in progress report
ACM SIGBED Review - Work-in-Progress (WiP) Session of the 2nd International Conference on Cyber Physical Systems
A semantic model for graphical user interfaces
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Embedding a functional hybrid modelling language in Haskell
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Reactive imperative programming with dataflow constraints
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Declaratively programming the mobile web with Mobl
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Keeping calm in the face of change
Higher-Order and Symbolic Computation
Towards a formal semantics for a structurally dynamic noncausal modelling language
TLDI '12 Proceedings of the 8th ACM SIGPLAN workshop on Types in language design and implementation
HPorter: using arrows to compose parallel processes
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Embedding dynamic dataflow in a call-by-value language
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Node-Based connection semantics for equation-based object-oriented modeling languages
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Procera: a language for high-level reactive network control
Proceedings of the first workshop on Hot topics in software defined networks
Avalanche: a fine-grained flow graph model for irregular applications on distributed-memory systems
Proceedings of the 1st ACM SIGPLAN workshop on Functional high-performance computing
Interruptible context-dependent executions: a fresh look at programming context-aware applications
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Type-specialized staged programming with process separation
Higher-Order and Symbolic Computation
Time petri nets for schedulability analysis of the transactional event handlers of P-FRP
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Proceedings of the 2012 ACM Research in Applied Computation Symposium
Hyperstream processing systems: nonstandard modeling of continuous-time signals
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Feasibility interval for the transactional event handlers of P-FRP
Journal of Computer and System Sciences
Green streams for data-intensive software
Proceedings of the 2013 International Conference on Software Engineering
A survey on reactive programming
ACM Computing Surveys (CSUR)
Towards optimal priority assignments for the transactional event handlers of P-FRP
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Variable voltage scheduling with the priority-based functional reactive programming language
Proceedings of the 2013 Research in Adaptive and Convergent Systems
Hi-index | 0.00 |
Functional Reactive Programming, or FRP, is a general framework for programming hybrid systems in a high-level, declarative manner. The key ideas in FRP are its notions of behaviors and events. Behaviors are time-varying, reactive values, while events are time-ordered sequences of discrete-time event occurrences. FRP is the essence of Fran, a domain-specific language embedded in Haskell for programming reactive animations, but FRP is now also being used in vision, robotics and other control systems applications. In this paper we explore the formal semantics of FRP and how itrelates to an implementation based on streams that represent (and therefore only approximate) continuous behaviors. We show that, in the limit as the sampling interval goes to zero, the implementation is faithful to the formal, continuous semantics, but only when certain constraints on behaviors are observed. We explore the nature of these constraints, which vary amongst the FRP primitives. Our results show both the power and limitations of this approach to language design and implementation. As an example of a limitation, we show that streams are incapable of representing instantaneous predicate events over behaviors.