← All repos

Interaction-Calculus

A programming language and model of computation that matches the optimal λ-calculus reduction algorithm perfectly.

Browse cluster: Functional Programming & Type Theory
135commits
6contributors
5languages

Tech stack & purpose

Interaction Calculus is a minimal term rewriting system and programming language designed as an alternative to Lambda Calculus that achieves optimal reduction comparable to Lamping's optimal λ-calculus evaluator. Built in portable C99, the system introduces affine (single-use) and global variables, along with first-class superpositions and duplications, enabling efficient computation and expressiveness for concepts like continuations and linear higher-order abstract syntax. The repository includes a reference implementation in C (IC32, a 32-bit runtime), a Haskell implementation for learning, and a complete formal specification with interaction rules for term reduction to weak head normal form and full normal form.

Languages

C
48.0%
Haskell
33.9%
Metal
9.7%
Objective-C++
6.7%
Makefile
1.7%

Contributors