Jeffery Olson, "System R­—A Practical Lambda Calculus Made for Extensibility in Rust"
Channel: Houston FPUG
Date: 2024-04-03

Abstract: This will be a presentation on lambda calculi, their differing varieties and corresponding expressiveness, and a particular implementation: System R—a lambda calculus, written in Rust, built for extensibility and practical use cases.

Many programming languages (especially in the world of FP) we use today are implemented atop layers of academic theory modeled as lambda calculi. Advances over the last 9+ decades have given us a rich toolset with which to develop sophisticated systems suitable for everyday use.

Whether it’s Hindley-Milner, dependent types, linear types, or algebraic effects the academic literatures often communicate advances in computer science via a lambda calculus, often starting from a popularly-known base point, extended in novel ways appropriate to the domain.

System R is a lambda calculus implementation that enables the creation of more advanced calculi that translate-downward back into System R, which is intended to operate as a “bottom”-level bytecode. System R is itself a System F dialect (in the sense of TAPL et al). The base Kind & Type system include a rich set of primitive values (robust numerics, bytes, etc), and the Curry-Howard correspondence tells us it is a suitable bytecode-level substrate for converting to an infinite number of computing backends (wasm, Rust/C/Fortran/Forth, AOT, etc).

As mentioned above, the unifying concept for the above capabilities is that the entire toolchain is built for extensibility.

You can learn more at https://github.com/olsonjeffery/system_r

Bio: Jeffery Olson is currently a Staff Engineer at GMV Syncromatics in Houston, TX.  His path to programming passes through an early enthusiasm for Linux/FOSS software since the late 90s, a stint in the Army and a tech career starting in Seattle before moving to Houston in 2014. He began contributing to Rust in 2012, working mostly in the standard library, contributing initial versions of the network and filesystem APIs. His perspective is shaped by an interest in understanding the needs of, then solving real problems for, customers along with a lifelong curiosity for computing technology that has led him all over the map.