Disappeared visit tracking
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Domaine
- devtools
Piste de recherche
Commencez par la description de l’issue et le suivi des visites fondé sur l’expander de Resyntax. Étudiez les propriétés de syntaxe de Racket, l’expansion manuelle dans des macros tels que for, match et syntax-parse, ainsi que syntax-local-apply-transformer ; le travail sera terminé lorsque Resyntax pourra trouver les visites d’expansion autrement masquées et refactoriser le cas de for-clause décrit.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Racket
- Étoiles
- 70
- Forks
- 11
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jackfirth/resyntax
-
Grimoire docs need examples Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
documentation
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
testing
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
-
testing
Difficulté 3/5 1-2 jours Accessibilité débutants 75/100
-
testing
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
Toutes les issues de jackfirth/resyntax
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
stephrobert/dsoxlab#238 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
sublimehq/package_control#1780 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
typelevel/sbt-typelevel#929 ·
-
Update HugeIcons library Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
antfu-collective/icones#398 ·