Settable and Non-Interfering Signal Functions for FRP

被引:0
|
作者
Winograd-Cort, Daniel [1 ]
Hudak, Paul [1 ]
机构
[1] Yale Univ, New Haven, CT 06520 USA
基金
美国国家科学基金会;
关键词
Functional Reactive Programming; Arrows; Arrow-Choice; Switch;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Functional Reactive Programming (FRP) provides a method for programming continuous, reactive systems by utilizing signal functions that, abstractly, transform continuous input signals into continuous output signals. These signals may also be streams of events, and indeed, by allowing signal functions themselves to be the values carried by these events (in essence, signals of signal functions), one can conveniently make discrete changes in program behavior by "switching" into and out of these signal functions. This higher-order notion of switching is common among many FRP systems, in particular those based on arrows, such as Yampa. Although convenient, the power of switching is often an overkill and can pose problems for certain types of program optimization (such as causal commutative arrows [14]), as it causes the structure of the program to change dynamically at run-time. Without a notion of just-in-time compilation or related idea, which itself is beset with problems, such optimizations are not possible at compile time. This paper introduces two new ideas that obviate, in a predominance of cases, the need for switching. The first is a noninterference law for arrows with choice that allows an arrowized FRP program to dynamically alter its own structure (within statically limited bounds) as well as abandon unused streams. The other idea is a notion of a settable signal function that allows a signal function to capture its present state and later be restarted from some previous state. With these two features, canonical uses of higherorder switchers can be replaced with a suitable first-order design, thus enabling a broader range of static optimizations.
引用
收藏
页码:213 / 225
页数:13
相关论文
共 50 条
  • [1] Settable and Non-Interfering Signal Functions for FRP How a First-Order Switch is More Than Enough
    Winograd-Cort, Daniel
    Hudak, Paul
    [J]. ICFP'14: PROCEEDINGS OF THE 2014 ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2014, : 213 - 225
  • [2] Non-interfering software distribution
    Schmidt, R
    Duffy, T
    [J]. DASIA '97 - DATA SYSTEMS IN AEROSPACE, 1997, 409 : 351 - 358
  • [3] A new non-interfering detector
    Donle, HP
    [J]. PROCEEDINGS OF THE INSTITUTE OF RADIO ENGINEERS, 1923, 11 (02): : 97 - 109
  • [4] Optimally scheduling interfering and non-interfering cranes
    Emde, Simon
    [J]. NAVAL RESEARCH LOGISTICS, 2017, 64 (06) : 476 - 489
  • [5] NON-INTERFERING NETWORK FLOWS
    MCDIARMID, C
    REED, B
    SCHRIJVER, A
    SHEPHERD, B
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1992, 621 : 245 - 257
  • [6] Reachback capacity with non-interfering nodes
    Barros, J
    Servetto, SD
    [J]. 2003 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY - PROCEEDINGS, 2003, : 366 - 366
  • [7] NON-INTERFERING CARDIOVASCULAR DIAGNOSTICS AND BLOOD PRESSURE
    Lading, L.
    Baek, David B.
    Larsen, B. Skogstad
    [J]. BIOMEDICAL ENGINEERING-BIOMEDIZINISCHE TECHNIK, 2013, 58
  • [8] NOTES ON NON-INTERFERING ELECTRIC AND MAGNETIC FIELDS
    SENGUPTA, ND
    [J]. INDIAN JOURNAL OF PHYSICS AND PROCEEDINGS OF THE INDIAN ASSOCIATION FOR THE CULTIVATION OF SCIENCE, 1968, 42 (08): : 460 - &
  • [9] Types and effects for non-interfering program monitors
    Bauer, L
    Ligatti, J
    Walker, D
    [J]. SOFTWARE SECURITY - THEORIES AND SYSTEMS, 2003, 2609 : 154 - 171
  • [10] NPS: A non-interfering deployable web prefetching system
    Kokku, R
    Yalagandula, P
    Venkataramani, A
    Dahlin, M
    [J]. USENIX ASSOCIATION PROCEEDINGS OF THE 4TH USENIX SYMPOSIUM ON INTERNET TECHNOLOGIES AND SYSTEMS (USITS'03), 2003, : 183 - 196