Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming 2009
DOI: 10.1145/1596550.1596559
|View full text |Cite
|
Sign up to set email alerts
|

Causal commutative arrows and their optimization

Abstract: Arrows are a popular form of abstract computation. Being more general than monads, they are more broadly applicable, and in particular are a good abstraction for signal processing and dataflow computations. Most notably, arrows form the basis for a domain specific language called Yampa, which has been used in a variety of concrete applications, including animation, robotics, sound synthesis, control systems, and graphical user interfaces.Our primary interest is in better understanding the class of abstract com… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
25
0

Year Published

2010
2010
2013
2013

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 38 publications
(25 citation statements)
references
References 36 publications
0
25
0
Order By: Relevance
“…The restriction to arrows is roughly equivalent to first-order functional programming, though Sculthorpe and Nilsson [23] introduced additional combinators to recover higher-order and dynamic behavior while using dependent types to retain causality. In contrast, Liu, Cheng and Hudak [18] showed how to exploit this first-order structure to develop a very efficient compilation scheme (reminiscent of the Bohm-Jacopini theorem) from arrow programs to single-loop code.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…The restriction to arrows is roughly equivalent to first-order functional programming, though Sculthorpe and Nilsson [23] introduced additional combinators to recover higher-order and dynamic behavior while using dependent types to retain causality. In contrast, Liu, Cheng and Hudak [18] showed how to exploit this first-order structure to develop a very efficient compilation scheme (reminiscent of the Bohm-Jacopini theorem) from arrow programs to single-loop code.…”
Section: Discussionmentioning
confidence: 99%
“…There have been several attempts to resolve this difficulty [18,20], all of which build on the basic idea of using data abstraction to restrict the definable functions to the causal ones. In recent work [17], we have described a new solution to this problem which still blocks non-causal definitions, but does not surrender the flexibility of the original FRP model -in particular, its support for making free use of higher-order functions for building abstractions.…”
Section: Programming Language and Modelmentioning
confidence: 99%
“…Arrowized FRP (AFRP) [20,21,24,25,29] Signal functions can be embedded in Elm (see Section 4.3), which brings the benefits of discrete AFRP to Elm programmers, allowing programs to dynamically create graphical components, without requiring signals of signals. Elm's discrete semantics make it clear how to allow asynchrony and concurrency, which appears to be semantically problematic in a continuous AFRP.…”
Section: Efficient Frp Implementationmentioning
confidence: 99%
“…However, fitting the switching combinators into the arrow framework used by Yampa is not without problems, e.g. they have no place in the causal commutative normal form [9] of a signal function. Reactive [5] is a recent reformulation of Fran that fixes the starting time of all varying quantities to zero, therefore its general higher-order capabilities (i.e.…”
Section: Closing Thoughtsmentioning
confidence: 99%