Skip to content

lijunchen/too-many-cps

Repository files navigation

Too Many CPS

Collect and implement CPS transformation algorithms in OCaml, Rust, and MoonBit.

Representing control: A study of the CPS transformation by Olivier Danvy and Andrzej Filinski.

OCaml Rust MoonBit
Naive code code code
Higher Order code code code
Nine Steps code × ×
Properly Tail Recursive code × ×
TODO... × × ×
OCaml Rust MoonBit
Naive code × ×
Higher Order code × ×
Hybrid code × ×
Rich code × ×

Compiling with continuations, continued by Andrew Kennedy.

OCaml Rust MoonBit
Untyped Naive code × ×
Untyped Tail code × ×
TODO... × × ×

The essence of compiling with continuations by Cormac Flanagan, Amr Sabry, Bruce F. Duba, Matthias Felleisen.

also known as ANF (A-Normal Form)

OCaml Rust MoonBit
Figure 9: A linear-time A-normalization algorithm code × code
↑↑↑ Syntax Partitioned Version code × code

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published