ACM Home Page
Please provide us with feedback. Feedback
Functional reactive programming, continued
Full text PdfPdf (201 KB)
Source Haskell archive
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell table of contents
Pittsburgh, Pennsylvania
Pages: 51 - 64  
Year of Publication: 2002
ISBN:1-58113-605-6
Authors
Henrik Nilsson  Yale University, New Haven, CT
Antony Courtney  Yale University, New Haven, CT
John Peterson  Yale University, New Haven, CT
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 74,   Citation Count: 11
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/581690.581695
What is a DOI?

ABSTRACT

Functional Reactive Programming (FRP) extends a host programming language with a notion of time flow. Arrowized FRP (AFRP) is a version of FRP embedded in Haskell based on the arrow combinators. AFRP is a powerful synchronous dataflow programming language with hybrid modeling capabilities, combining advanced synchronous dataflow features with the higher-order lazy functional abstractions of Haskell. In this paper, we describe the AFRP programming style and our Haskell-based implementation. Of particular interest are the AFRP combinators that support dynamic collections and continuation-based switching. We show how these combinators can be used to express systems with an evolving structure that are difficult to model in more traditional dataflow languages.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
Magnus Carlsson and Thomas Hallgren. Fudgets - Purely Functional Processes with applications to Graphical User Interfaces. PhD thesis, Chalmers University of Technology, March 1998.
4
 
5
Paul Caspi and Marc Pouzet. A co-iterative characterization of synchronous stream functions. In Coalgebraic Methods in Computer Science (CMCS '98), Electronic Notes in Theoretical Computer Science, March 1998.
 
6
Paul Caspi and Marc Pouzet. Lucid Synchrone, a functional extension of Lustre. Submitted for publication, 2000.
 
7
Franois E. Cellier. Object-oriented modelling: Means for dealing with system complexity. In Proceedings of the 15th Benelux Meeting on Systems and Control, Mierlo, The Netherlands, pages 53-64, 1996.
 
8
Antony Courtney and Conal Elliott. Genuinely functional user interfaces. In 2001 Haskell Workshop, September 2001.
 
9
10
 
11
 
12
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language LUSTRE. Proceedings of the IEEE, 79(9):1305-1320, 1991.
13
 
14
 
15
 
16
 
17
Modelica - a unified object-oriented language for physical systems modeling: Language specification version 1.4. The Modelica Association, http://www.modelica.org, December 2000.
18
19
 
20
 
21
 
22
Marc Pouzet, Paul Caspi, Pascal Couq, and Grégoire Hamon. Lucid Synchrone v2.0 - tutorial and reference manual. http://www-spi.lip6.fr/lucid-synchrone/lucid_synchrone_2.0_manual.ps, April 2001.
23
 
24
Using Simulink version 4. The MathWorks, Inc., http://www.mathworks.com, June 2001.
25
26
 
27

CITED BY  11

Collaborative Colleagues:
Henrik Nilsson: colleagues
Antony Courtney: colleagues
John Peterson: colleagues