cakeml
cakeml copied to clipboard
Make WordLang functions return multiple values
At present, functions in WordLang always return one value (of type word_loc
).
This PR is about making it possible to return multiple values (of type word_loc
) on each function return. The implementation will affect all proofs related to WordLang. In order to make this change manageable, I propose that there is a limit for the number of returned values so that all values can be returned in registers.
A concrete goal of this PR is to make the bignum library represent its registers as locals
in WordLang rather than as slots in WordLang's store
field, which is the current suboptimal representation.