Jacqueline Firth
Jacqueline Firth
```scheme #lang resyntax/test test: "with-output-to-string should be used when equivalent" -------------------- #lang racket (define (f) (define os (open-output-string)) (parameterize ([current-output-port os]) (displayln "foo") (get-output-string os))) -------------------- -------------------- #lang racket (define...
Resyntax currently rewrites this: ```scheme `("foo" "bar") ``` Into this: ``` (list "foo" "bar") ``` This is a side effect of the rule that gets rid of unnecessary quasiquotation. That...
This is due to deficiencies in the identifier usage analyzer.
Consider the `hash-ref-set!-to-hash-ref!` rule: ```scheme (define-refactoring-rule hash-ref-set!-to-hash-ref! #:description "This expression can be replaced with a simpler, equivalent `hash-ref!` expression." #:literals (hash-ref hash-set! define) (hash-ref h1:id k1:pure-expression (_:lambda-by-any-name () (define v1:id...
The Autofixer is quite useful, but requires a lot of fiddly manual setup. Even with the custom action I've created, setting up weekly Autofixer pull requests requires creating a new...
Saw a few cases in racket/typed-racket#1410 where `#:when` would clean up various bits of pattern matching code: ```scheme #lang resyntax/test test: "original code should be refactorable to new code" --------------------...
Encountered [here](https://github.com/racket/typed-racket/pull/1410/files/daa1906f94ff9129873ab9451a92e74ed9f90610#r1834956957): ```scheme #lang resyntax/test test: "root-level and pattern can be removed when matching on a variable" -------------------- #lang racket (define (f xs) (match xs [(and foo (list x y...
If I can get Resyntax to run on non-Racket files, then a great refactoring rule to have would be one that corrects common typos in Scribble documentation.
Saw some code in racket/drracket#691 where a rule like this would help: ```scheme #lang resyntax/test test: "for with set! refactorable to for/fold" -------------------- #lang racket (define (f n) (define xs...