Results 1 
4 of
4
TOWARDS SAFE AND EFFICIENT FUNCTIONAL REACTIVE PROGRAMMING
, 2011
"... Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on timevarying values (signals). FRP is based on the synchronous dataflow paradigm and supports both continuoustime and discretetime signals (hybrid systems ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on timevarying values (signals). FRP is based on the synchronous dataflow paradigm and supports both continuoustime and discretetime signals (hybrid systems). What sets FRP apart from most other reactive languages is its support for systems with highly dynamic structure (dynamism) and higherorder reactive constructs (higherorder dataflow). However, the price paid for these features has been the loss of the safety and performance guarantees provided by other, less expressive, reactive languages. Statically guaranteeing safety properties of programs is an attractive proposition. This is true in particular for typical application domains for reactive programming such as embedded systems. To that end, many existing reactive languages have type systems or other static checksthatguaranteedomainspecificconstraints, suchasfeedbackbeingwellformed(causality analysis). However, comparedwithFRP,theyarelimitedintheircapacitytosupportdynamism andhigherorderdataflow. Ontheotherhand, asestablishedstatictechniquesdonotsufficefor highly structurally dynamic systems, FRP generally enforces few domainspecific constraints, leaving the FRP programmer to manually check that the constraints are respected. Thus, there
HigherOrder and Symbolic Computation manuscript No. (will be inserted by the editor) Keeping Calm in the Face of Change Towards Optimisation of FRP by Reasoning about Change
"... Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals. FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discretetime signals (hybri ..."
Abstract
 Add to MetaCart
Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals. FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discretetime signals (hybrid systems). What sets FRP apart from most other languages for similar applications is its support for systems with dynamic structure and for higherorder reactive constructs (e.g. signals carrying signals or functions on signals). This paper contributes towards advancing the state of the art of FRP implementation by studying the notion of signal change and change propagation in a setting of structurally dynamic networks of nary signal functions operating on mixed continuoustime and discretetime signals. We first define an ideal denotational semantics (time is truly continuous) for this kind of FRP, along with temporal properties, expressed in temporal logic, of signals and signal functions pertaining to change and change propagation. Using this framework, we then show how to reason about change; specifically, we identify and justify a number of possible optimisations, such as avoiding recomputation of unchanging values. Note that due to structural dynamism, and the fact that the output of a signal function may change because time is passing even if the input is unchanging, the problem is significantly more complex than standard change propagation in networks with static structure.
Keywords Change Propagation · DomainSpecific Languages · Functional Reactive Programming · Hybrid Systems · Synchronous Dataflow
"... Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals (timevarying values). FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discr ..."
Abstract
 Add to MetaCart
Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals (timevarying values). FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discretetime signals (hybrid systems). What sets FRP apart from most other languages for similar applications is its support for systems with dynamic structure and for higherorder reactive constructs. This paper contributes towards advancing the state of the art of FRP implementation by studying the notion of signal change and change propagation in a setting of structurally dynamic networks of nary signal functions operating on mixed continuoustime and discretetime signals. We first define an ideal denotational semantics (time is truly continuous) for this kind of FRP, along with temporal properties, expressed in temporal logic, of signals and signal functions pertaining to change and change propagation. Using this framework, we then show how to reason about change; specifically, we identify and justify a number of possible optimisations, such as avoiding recomputation of unchanging values. Note that due to structural dynamism, and the fact that the output of a signal function may change because time is passing even if the input is unchanging, the problem is significantly more complex than standard change propagation in networks with static structure.
Programming · Hybrid Systems · Synchronous Dataflow
"... Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals (timevarying values). FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discr ..."
Abstract
 Add to MetaCart
Abstract Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on signals (timevarying values). FRP is based on the synchronous dataflow paradigm and supports both (an approximation to) continuoustime and discretetime signals (hybrid systems). What sets FRP apart from most other languages for similar applications is its support for systems with dynamic structure and for higherorder reactive constructs. This paper contributes towards advancing the state of the art of FRP implementation by studying the notion of signal change and change propagation in a setting of structurally dynamic networks of nary signal functions operating on mixed continuoustime and discretetime signals. We first define an ideal denotational semantics (time is truly continuous) for this kind of FRP, along with temporal properties, expressed in temporal logic, of signals and signal functions pertaining to change and change propagation. Using this framework, we then show how to reason about change; specifically, we identify and justify a number of possible optimisations, such as avoiding recomputation of unchanging values. Note that due to structural dynamism, and the fact that the output of a signal function may change because time is passing even if the input is unchanging, the problem is significantly more complex than standard change propagation in networks with static structure.