Tail Recursion Modulo Cons Optimization in CakeML
| dc.contributor.author | Wiese, Ry | |
| dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
| dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
| dc.contributor.examiner | Abel, Andreas | |
| dc.contributor.supervisor | Myreen, Magnus | |
| dc.date.accessioned | 2026-08-26T08:34:08Z | |
| dc.date.issued | 2026 | |
| dc.date.submitted | ||
| dc.description.abstract | In this project, the Tail Recursion Modulo Cons (TMC) optimization is implemented in the end-to-end verified CakeML compiler. The optimization makes tail recursive those functions which contain a recursive call nested inside one or more constructors. The TMC transformation is applied in the bytecode-value intermediate language (BVI) and rewrites functions in a way that cannot be done manually in CakeML source code. The syntax and semantics of BVI are extended with three new language constructs, and a new compiler phase is added to rewrite BVI programs using the new constructs. The compiler is implemented and formally verified in the HOL4 interactive theorem prover, and included in the project is a mechanized proof that the transformation produces code that is semantically equivalent to the original. | |
| dc.identifier.coursecode | DATX05 | |
| dc.identifier.uri | https://hdl.handle.net/20.500.12380/312264 | |
| dc.language.iso | eng | |
| dc.setspec.uppsok | Technology | |
| dc.subject | Computer Science, Formal Verification, Verification, Compilers, Optimiza tion, CakeML, HOL4, End-To-End Verification | |
| dc.title | Tail Recursion Modulo Cons Optimization in CakeML | |
| dc.type.degree | Examensarbete för masterexamen | sv |
| dc.type.degree | Master's Thesis | en |
| dc.type.uppsok | H | |
| local.programme | Computer science -algorithms, languages and logic (MPALG), MSc |
