Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Macros inferring in new cljs (CLJS-1507)

Abierto
#39 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
clojure
Área
devtools

Línea de trabajo

Comienza con src/implant/dirac/implant/analyzer.cljs en la llamada a cljs.analyzer/analyze y sigue cómo las formas de namespace identifican los macros. Compara la información de macros inferida con el enfoque de presencia en tiempo de ejecución descrito en el issue y, después, verifica que las sugerencias de completado de código ya no informen de tipos incorrectos. El issue no nombra ningún archivo de pruebas, así que identifica las pruebas relevantes del analyzer o de completion antes de hacer el cambio.

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

Descripción

enhancement

Currently we use cljs.analyzer/analyze to parse ns forms. We trust it to tell us which symbols/namespace references are macros. But new macros inference CLJS-1507 can make this unreliable when someone relies on inferring.

I think a way how to work around this is to treat everything as a function and check for runtime presence. If it is not present at runtime, we treat it as a macro (but this can have performance implications because runtime presence checks must go over wire).

Other idea is just to leave it as is and our code completion hints will report wrong types.

Lenguaje dominante
Clojure
Estrellas
775
Forks
29
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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.

Más de binaryage/dirac

Todos los issues de binaryage/dirac

Issues similares

Más issues de Clojure

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.