Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Synchronous operations as first-class values
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
A multi-threaded higher-order user interface toolkit
User interface software
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Practical programming in Tcl and Tk (2nd ed.)
Practical programming in Tcl and Tk (2nd ed.)
Concurrent programming in ML
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
FranTk - a declarative GUI language for Haskell
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lightweight GUIs for Functional Programming
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Higher-Order Concurrency
Journal of Functional Programming
wxHaskell: a portable and concise GUI library for haskell
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Specialization of CML message-passing primitives
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Manticore: a heterogeneous parallel language
Proceedings of the 2007 workshop on Declarative aspects of multicore programming
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
A concurrent ML library in concurrent Haskell
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Programming in Manticore, a heterogenous parallel functional language
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Combinators for message-passing in Haskell
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Composable asynchronous events
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Hi-index | 0.00 |
We describe a new and simpler implementation in Haskell of CML'sevents, which encode reactions by a thread to combinations ofmessages from other threads. We add a new type of Guarded Events,by which recipients can filter messages with conditions on theirvalue known as Guards. We implement guarded channels. The guardtype and the indexing algorithm are not part of the channeldefinition, so that the user can trade off what guards are requiredagainst the cost of indexing. As an example we sketch theencapsulation of a graphical user interface toolkit. This can bedone concisely not only because of guarded events, but also becausewe construct events monadically. Monadic events are especiallyhelpful for representing concurrent processes which transformthemselves in reaction to external communications.