Media Summary: Implementing the compiler from names to positions. Considering how to translate our interpreter from Lexical scope lets us predict, before running a program, where in the environment each variable will appear.

Shplait Compilation 3 Compile Examples - Detailed Analysis & Overview

Implementing the compiler from names to positions. Considering how to translate our interpreter from Lexical scope lets us predict, before running a program, where in the environment each variable will appear. General strategy for interpreting function calls in Moe using substitution. We can encode a multi-argument function as single-argument functions by currying. Converting the interpreter to avoid implicit continuations and and function calls.

Representing `fun` forms and motivating the associated generalization of application forms. I made myself a string library in C from scratch, so I can have normal strings in my future videos and don't have to use string.h ...

Photo Gallery

Shplait Compilation 3 - compile examples
Shplait Compilation 4 - compile
Shplait Compilation 1 - toward machine code
Shplait Tutorial 3 - lists
Shplait Compilation 2 - lexical scope and addresses
Shplait Function 3 - interpreter overview
Shplait Encoding 3 - currying
Shplait Compilation 5 - continuations and funtion calls
Shplait Typed Class 3 - classes and methods
Shplait Lambda 3 - syntax and evaluation
Shplait Inference 7 - unify examples
[OOPSLA'25] Compiling Classical Sequent Calculus to Stock Hardware: The Duality of Compilation
View Detailed Profile
Shplait Compilation 3 - compile examples

Shplait Compilation 3 - compile examples

Compiling

Shplait Compilation 4 - compile

Shplait Compilation 4 - compile

Implementing the compiler from names to positions.

Shplait Compilation 1 - toward machine code

Shplait Compilation 1 - toward machine code

Considering how to translate our interpreter from

Shplait Tutorial 3 - lists

Shplait Tutorial 3 - lists

Creating lists.

Shplait Compilation 2 - lexical scope and addresses

Shplait Compilation 2 - lexical scope and addresses

Lexical scope lets us predict, before running a program, where in the environment each variable will appear.

Shplait Function 3 - interpreter overview

Shplait Function 3 - interpreter overview

General strategy for interpreting function calls in Moe using substitution.

Shplait Encoding 3 - currying

Shplait Encoding 3 - currying

We can encode a multi-argument function as single-argument functions by currying.

Shplait Compilation 5 - continuations and funtion calls

Shplait Compilation 5 - continuations and funtion calls

Converting the interpreter to avoid implicit continuations and and function calls.

Shplait Typed Class 3 - classes and methods

Shplait Typed Class 3 - classes and methods

Typechecking of classes and methods.

Shplait Lambda 3 - syntax and evaluation

Shplait Lambda 3 - syntax and evaluation

Representing `fun` forms and motivating the associated generalization of application forms.

Shplait Inference 7 - unify examples

Shplait Inference 7 - unify examples

Examples

[OOPSLA'25] Compiling Classical Sequent Calculus to Stock Hardware: The Duality of Compilation

[OOPSLA'25] Compiling Classical Sequent Calculus to Stock Hardware: The Duality of Compilation

Compiling

Strings in C from scratch

Strings in C from scratch

I made myself a string library in C from scratch, so I can have normal strings in my future videos and don't have to use string.h ...