Disappeared visit tracking
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Área
- devtools
Línea de trabajo
Comienza con la descripción del issue y el seguimiento de visitas basado en el expander de Resyntax. Investiga las propiedades de sintaxis de Racket, la expansión manual en macros como for, match y syntax-parse, y syntax-local-apply-transformer; el trabajo estará terminado cuando Resyntax pueda encontrar visitas de expansión que de otro modo estarían ocultas y refactorizar el caso de for-clause descrito.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Resyntax relies on the expander to find what forms it should analyze. This means that macros which circumvent the expander, like for, match, and syntax-parse, can hide forms from Resyntax. This is why Resyntax can't currently refactor (in-range a (add1 b)) to (in-inclusive-range a b) when inside a for clause. Similar issues exist for refactoring match patterns and syntax-parse patterns.
A fix to this would be to extend Racket with a 'disappeared-visit property, similar to the 'disappeared-use property, that macros can attach to syntax objects produced during "manual expansion". Integration with syntax-local-apply-transformer would also be nice. The syntax property should contain the syntax object that the macro manually expanded. In the case of for, that would be the right-hand-side of clauses when they contain sequence transformers. Resyntax can then search for this property in expanded code to find expansion visits that weren't otherwise visible.
- Lenguaje dominante
- Racket
- Estrellas
- 70
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jackfirth/resyntax
-
Grimoire docs need examples Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
documentation
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
testing
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
testing
Dificultad 3/5 1-2 días Aptitud para principiantes 75/100
-
testing
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
Todos los issues de jackfirth/resyntax
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
vercel-labs/just-bash#464 ·
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Automattic/safe-publish#594 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
bug feat:crypto feat:utils
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100