Declarative event-oriented programming
- 1 September 2000
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
Events play an important role in the construction of most software that involves interaction or simulation. Typically, programmers make use of a fixed set of low level events supplied by a window system, possibly augmented with timers and UI components. Event handling generally involves some interpretation of these event occurrences, followed by external actions or modifications to program state. It is possible to extend the event paradigm by using event interpretation to synthesize new kinds of events tailored specifical ly for a domain or application. In turn, these new events may be used to synthesize yet others, and so on, to an arbitrarily sophisticated degree. This programming paradigm, which we call event-oriented programming, aids in the factoring of programs into understandable and reusable pieces. We propose a declarative approach to event-oriented programming, based on a powerfully expressive event language with a lightweight notation. We illustrate this new approach through the design of an interactive curve editor.Keywords
This publication has 14 references indexed in Scilit:
- An embedded modeling language approach to interactive 3D and multimedia animationIEEE Transactions on Software Engineering, 1999
- Imperative streams—a monadic combinator library for synchronous programmingPublished by Association for Computing Machinery (ACM) ,1998
- The Esterel synchronous programming language: design, semantics, implementationScience of Computer Programming, 1992
- A gentle introduction to HaskellACM SIGPLAN Notices, 1992
- Report on the programming language HaskellACM SIGPLAN Notices, 1992
- The synchronous data flow programming language LUSTREProceedings of the IEEE, 1991
- Why Functional Programming MattersThe Computer Journal, 1989
- SqueakACM SIGGRAPH Computer Graphics, 1985
- Communicating sequential processesCommunications of the ACM, 1978
- The humble programmerCommunications of the ACM, 1972