Words of any bitwidth in the semantics
- Dominant language
- Standard ML
- Stars
- 1.2k
- Forks
- 104
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 16
Description
At present, CakeML’s source code has two word sizes: 8 and 64. This
issue is about supporting any word size as if it is primitive type, ie by
writing word7 you get 7-bit words. Similarly word5000 would produce
good code for 5000-bit words. Crucially, we could not allow
polymorphism over the word lengths. Allowing polymorphism would
destroy the performance of primitives.
This is a project that touches the source semantics and many of the
intermediate languages in minor ways, but requires some non-trivial
changes in the data_to_word phase of the compiler.
This is suitable as part of an Masters thesis project. Contact `myreen`
on the CakeML slack in case you are interested.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the source semantics, intermediate-language definitions, and the compiler's data_to_word phase mentioned in the issue. Trace how the existing 8- and 64-bit words are represented, then determine the affected paths; done means non-polymorphic word sizes such as word7 and word5000 are supported through the semantics and compiler.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100