2021-06-08 EDIT: Added serializer implementation using only the actor message-event queue. One of the earliest concepts explored on this blog was the Serializer, which is a mechanism for providing exclusive access to a group of actors [1]. More recently, Carl Hewitt has referred to an extended version of this mechanism (with holes) as “Swiss Cheese”. […]
10
Aug
2020
Serializers Revisited
Tags: actor, atomic, cell, cheese, composition, continuation, lazy-initialization, queue, serializer, state-machine, synchronization, transaction
06
Dec
2010
Evaluating Expressions, part 7 – Transactions and Exceptions
Tags: actor, concurrency, data-flow, evaluation, exception, execution, language, parallel, protocol, synchronization, transaction
In part 7 of our series implementing programming language constructs with actors, we implement parallel execution of block statements. Parallel execution motivates the use of single-assignment data-flow variables. We also introduce transactions and exception handling. The only extension required to our grammar from part 6 is the inclusion of a THROW statement: stmt ::= ‘LET’ […]