lambdaclass / lambdaclass/lambda_compiler_kit

bug: CLI readAll stops reading at first empty line instead of reading to EOF

Abierto Apto para principiantes
#22 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Lean
Estrellas
2
Forks
1
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Problem

Both cli/LckJsonFmt.lean and cli/LckJsonTree.lean define a readAll helper that reads stdin line-by-line, stopping as soon as it reads an empty line:

repeat
  let line ← stdin.getLine
  if line.isEmpty then break   -- WRONG: also breaks on blank lines mid-input
  buf := buf ++ line

This means any JSON that contains a blank line (e.g., pretty-printed JSON piped from another tool, or JSON with embedded newlines before/after values) will be silently truncated.

Expected fix

Read until EOF. IO.Stream.getLine returns "" on EOF — use IO.Stream.isEof or check for EOF after each read instead of treating an empty line as the terminator. Example:

repeat
  let line ← stdin.getLine
  if (← stdin.isEof) then break
  buf := buf ++ line

References

  • Flagged by AI code review on PR #8

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con los helpers readAll de cli/LckJsonFmt.lean y cli/LckJsonTree.lean; después, inspecciona cómo cada CLI lee stdin. Verifica el comportamiento con una entrada que contenga una línea en blanco y confirma que la lectura continúa a través de las líneas en blanco y termina solo en EOF, sin truncar el JSON.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
cli
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
68/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.