This paper introduces SignalJ, a lightweight extension of Java with reactive values. A reactive value in SignalJ is either primitive (source) or depends on other reactive values (dependent). Each reactive value is typed with a \emph{signal type}, which ensures that the dependent reactive values are functional and any changes of the source values are propagated to all the dependent reactive values. SignalJ also provides \emph{handlers} of reactive values that are called whenever the monitored reactive value is updated. With these features, SignalJ declaratively specifies dataflows within an application in a functional manner, which enables effective implementation of reactive software. The syntax of SignalJ is almost identical to that of Java 8 except that it introduces a new modifier, \texttt{signal}, to represent signal types.
Program Display Configuration
Mon 31 Oct
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Viennachange