Computability Theory is the foundation for computer software development. Our programming languages embody the techniques and models described by various theories of computation [1]. The Turing Machine is the canonical example of the Imperative Model [2]. Lambda Calculus is the canonical example of the Functional Model [3]. Kleene’s Church-Turing Thesis asserts the equivalence of these […]
31
Aug
2016
On Separating Values and Effects
Tags: actor, behavior, composition, effect, evaluation, execution, functional, Humus, imperative, lambda-calculus, language, open-system, primitive, real-world, theory, time, value
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’ […]