Monthly Archives: August 2010

Evaluating Expressions, part 1 – Core Lambda Calculus

One of the best ways to understand programming language constructs is to implement them. We will begin by implementing a simple, yet Turing-complete, functional expression language.  In subsequent articles, we will extend this language with additional features.  For now we will focus on just the “untyped” lambda calculus, augmented with constants. The grammar for our expression […]

Posted in Uncategorized | Tagged , , , , , | 5 Comments

“Dining Philosophers” in Humus

The “Dining Philosophers” problem is a classic example used to illustrate various challenges with concurrency. We will approach this problem by incrementally designing the actors which model the problem and its solution in Humus. Through this example we will explore the avoidance of deadlock and starvation in the design of actor-based systems. Basic Thinking/Eating Cycle […]

Posted in Uncategorized | Tagged , , , , , , , | 2 Comments