cakeml icon indicating copy to clipboard operation
cakeml copied to clipboard

CakeML: A Verified Implementation of ML

Results 251 cakeml issues
Sort by recently updated
recently updated
newest added

32-bit riscv (riscv32) implementations are fairly popular with amateurs and have some potential relevance in embedded computers, but our current "riscv" target only supports 64-bits. I have zero interest in...

enhancement
user experience
uncertain scope

Under the measurement conditions of #793 the third largest function in a 32-bit-targeting compiler is to_word32Prog_word_bignum_generated_bignum_stubs (595812 bytes). Since this is executed once per compile, it's a reasonable candidate for...

enhancement
dev experience
low effort
medium reward

This issue is about setting up an alternative pathway to call into CakeML-generated code from C/C++. Right now, the default exporter only allows running CakeML code as the "main" function....

(all estimates assume #754 #774 #789 have already happened) * ag32, arm7: These are already quite immediate friendly, most header words fit in a 15-16 bit immediate field. * x64:...

enhancement
code size
medium effort
medium reward

* ag32: appears to be optimal. * arm7: We generate 12-byte sequences to load from the instruction stream for everything outside a 12-bit mov immediate range. But since we depend...

enhancement
good first issue
code size
performance
medium reward

COUNT_LIST is a fairly hot function in the current compiler (a different issue, but let's pretend it's desired). It is compiled with bignum support, but a human can easily see...

enhancement
performance
high effort
low reward
uncertain scope

As the compiler improves, we may wish to try to market it to users of SML binary compilers. Currently, CakeML requires its own syntax, which such users generally do not...

enhancement
user experience
medium effort
medium reward

A REPL is more useful if you can abort things that are taking too long. This is immediate if you have threads (you can model an interrupted thread as never...

enhancement
user experience
high effort
medium reward
uncertain scope

Except for the bootstraps, most of the directories have phases where only a few low-memory jobs are running and they could usefully be folded together. However, we still want to...

enhancement
dev experience
low effort
medium reward
tooling

Old SPARC had an instruction which added or subtracted two numbers, but raised an exception if the low two bits of either input were nonzero or if the result overflowed....

enhancement
code size
performance
high effort
medium reward