lambdaclass / lambdaclass/lambda_compiler_kit

nit: several low-priority polish items in JSON parser (decimal rendering, ordering invariant, docstrings)

Aperta
#23 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Lean
Stelle
2
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Items

These are low-priority nits flagged by AI code review on PR #8. Grouping them into a single issue to keep the tracker clean.

1. Decimal rendering precision (cli/LckJsonFmt.lean:30)

The renderNumber function may truncate fractional digits beyond 20 decimal places, losing round-trip fidelity for numbers with high precision.

2. Dependent types for ordering invariant (Lck/Json/Syntax.lean:444-450)

SortedKVs currently enforces its key-sorted ordering invariant by convention. Using dependent types (a sigma type or a subtype with a Sorted proof) would make the invariant enforcement compile-time rather than runtime.

3. Missing docstrings (Lck/Json/Parser.lean)
  • convOfPolicy: no docstring explaining what it does or why it exists
  • SortedKVs.ofList: no documentation of the byte-lexicographic key ordering behavior
  • Consider making convOfPolicy private to reduce public API surface

References

  • Flagged by AI code review on PR #8

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Leggi prima le tre aree indicate: cli/LckJsonFmt.lean:30, Lck/Json/Syntax.lean:444-450 e Lck/Json/Parser.lean. Separa le proposte relative a precisione, invarianza dell'ordine e documentazione prima di decidere il loro ambito; per considerare il lavoro completato sarebbe necessaria una risoluzione concordata per ciascun elemento elencato, inclusa la questione della visibilità dell'API per convOfPolicy.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
compilers
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.