argumentcomputer / argumentcomputer/Lurk.lean

Problem: Inductive representations are not as compact as they could be

Open
#48 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.