Skip to content

Files

Latest commit

ecefa94 · May 13, 2025

History

History

compiler

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
May 13, 2025
Jun 23, 2020
May 13, 2025
Mar 1, 2025
Apr 13, 2025
May 7, 2025
May 9, 2025
May 23, 2024
Sep 26, 2024
Dec 7, 2024
Aug 10, 2024
Mar 18, 2025
Mar 24, 2025
Dec 30, 2018

A verified compiler for CakeML, including:

  • lexing and PEG parsing,
  • type inference,
  • compilation to ASM assembly language, and,
  • code generation to x86, ARM, and more.

backend: The CakeML compiler backend.

benchmarks: Two benchmark suites for the CakeML compiler.

bootstrap: Theories that perform proof-grounded bootstrapping of the CakeML compiler in HOL.

compilerScript.sml: Definition of the CakeML compiler as a function that takes a list of command line arguments and a string corresponding to standard input, and produces a pair of output strings for standard error and standard output (the latter containing the generated machine code if successful).

dafny: Translate Dafny into CakeML.

encoders: Encoders for CakeML's ASM abstract assembly language into each of the concrete targets of the CakeML compiler.

inference: The CakeML type inferencer.

parsing: The CakeML parser.

printing: The printer mechanism for the CakeML REPL.

proofs: Correctness proof for the CakeML compiler.

repl: Some definitions and proofs used in the proof of the CakeML and Candle read-eval-print loop (REPL).