CakeML / CakeML/cakeml

Unified compiler

Open
#755 0 comments 0 reactions 0 assignees View on GitHub
code size dev experience enhancement high effort medium reward uncertain scope user experience
Dominant language
Standard ML
Stars
1.2k
Forks
104
Avg merge
2d 21h
Merged PRs (30d)
16

Description

CakeML's intermediate representation semantics are parameterized by the size of pointers. This is a good thing, as it avoids an irrelevant multiplication of states, and the proof system can handle it easily.

CakeML's intermediate representation data structures are parameterized in the same way. While this may simplify some correspondence proofs, it's problematic for users:

* There are two compilers, and you have to pick the correct one for your target platform.
* x64-32 is itself confusing terminology and likely to be mistaken for a compiler that runs in long mode but uses 32-bit pointers.
* The build artifacts are twice as big as they need to be and building them takes twice as long (well, 3/2 as long, because ag32 does not build the 64-bit compiler) as it needs to.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.