lambdaclass / lambdaclass/lambda_compiler_kit

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

Offen
#23 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Lean
Sterne
2
Forks
1
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Lies zuerst die drei genannten Bereiche: cli/LckJsonFmt.lean:30, Lck/Json/Syntax.lean:444-450 und Lck/Json/Parser.lean. Trenne die Vorschläge zu Präzision, Ordnungsinvarianz und Dokumentation, bevor du ihren Umfang festlegst; für einen Abschluss wäre eine vereinbarte Lösung für jeden aufgeführten Punkt erforderlich, einschließlich der Frage der API-Sichtbarkeit für convOfPolicy.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
compilers
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.