CakeML / CakeML/cakeml

Words of any bitwidth in the semantics

Open
#499 2 comments 0 reactions 0 assignees View on GitHub
enhancement high effort medium reward
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.