Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Transactional memory: architectural support for lock-free data structures
ISCA '93 Proceedings of the 20th annual international symposium on computer architecture
Artificial intelligence: a modern approach
Artificial intelligence: a modern approach
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Programming with threads
Programming Ruby: the pragmatic programmer's guide
Programming Ruby: the pragmatic programmer's guide
Predicate Dispatching: A Unified Theory of Dispatch
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Modeling Software with Finite State Machines
Modeling Software with Finite State Machines
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
International workshop on multicore software engineering (IWMSE 2008)
Companion of the 30th international conference on Software engineering
IWMSE '09 Proceedings of the 2009 ICSE Workshop on Multicore Software Engineering
Actor frameworks for the JVM platform: a comparative analysis
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Hi-index | 0.00 |
This paper introduces Stage, a Ruby implementation of Actors inspired by the concurrency support in the Erlang programming language. This implementation demonstrates how dynamic language features can be used to implement convenient and expressive concurrency support. Stage has several interesting features that contribute to this expressiveness, including: (1) pattern based support for receiving and handling messages using method calls and blocks, (2) a specialized form of predicate dispatch based on pattern matching for messages that supports overriding and the dynamic addition of alternatives, (3) support for a simple convention based dispatching of messages, and (4) techniques for extending the predicate dispatch to also consider an actor's state. This paper also provides several examples which illustrate how Stage can be used to effectively express concurrent problems.