Skip to content

Latest commit

 

History

150 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

metaprogramming

Course on Metaprogramming

Originally: University of Cambridge, UK Michaelmas Term 2018

Currently being updated for 2025

Highlights

  • Lecture 1-lisp shows a metacircular interpreter that can evaluate itself, and also an extension towards a reflective tower.
  • Lecture 2-proof-by-reflection revisits the reflection principle with an example from the seminal FOL to Lean.
  • Lecture 5-smt shows how to use SMT as a backend, by presenting a small verifier from IMP to SMT via verification conditions.

Course Links for Original Edition

Lecture Notes

Solution to Assignment 1

The solution to assignment 1 has been released as part of the Lisp Variations used to create it.

Installation

for Scala code

About

Course on Metaprogramming

Topics

Resources

Stars

78 stars

Watchers

10 watching

Forks

Releases

Packages

Contributors

Languages