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 [...]
Tag Cloud
actor asynchronous blocking capability channel composition concurrency consistency data-flow deadlock debugging distribution equation Erlang evaluation extensibility functional grammar Humus imperative iteration Kernel lambda-calculus language message-passing object-oriented pair pattern-matching patterns PEG protocol queue recursion scalability Scheme sequence serializer starvation state-machine streams synchronization synchronous unification value vau-calculus