argumentcomputer / argumentcomputer/Lurk.lean
Problem: Inductive representations are not as compact as they could be
- Dominant language
- Lean
- Stars
- 9
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
Currently, the generated code contains the inductive name as the head of each constructor, i.e. `("Bool" 0)`. This is really inefficient and could be removed for good speedup. However, the named version is helpful for debugging, so the best way to add this optimization is probably as a setting, where the user can choose to enable named/nameless representations.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the generated code that represents inductive constructors and identify where the inductive name is added as the head. Trace how representation settings are defined and consumed, then determine how named and nameless modes should be selected while preserving the debugging form. Done means the setting works consistently and the compact representation is covered by relevant tests.
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
- Mostly clear
- Newbie friendliness
- 30/100