resyntax icon indicating copy to clipboard operation
resyntax copied to clipboard

A Racket refactoring engine

Results 65 resyntax issues
Sort by recently updated
recently updated
newest added

Saw this code today: ```scheme (define (range min max . step*) (define step (if (null? step*) 1 (car step*))) (define (range* lst min max) (define max* (- max step)) (if...

new lint

If I `provide` an identifier multiple times, it could be replaced with a single occurrence of the identifier. Thus, ```` (provide a b a) ```` could be rewritten to just...

new lint

Racket makes it possible to scatter `provide` forms at the toplevel of a module. When this is actually done, though, I find it makes code harder to read. Ideally, I'd...

new lint

(Not sure if this is what resyntax should be doing, but it feels in scope to me; feel free to decline this if it's not what you have in mind.)...

new lint

Suggested sort order: by phase, then by base module name, then by submodule / only-in clauses. Path-based module names should go after collection-based module names.

new lint

Rust has a linting tool known as [Clippy](https://github.com/rust-lang/rust-clippy) that uses an interesting strategy for keeping track of and developing new lints. Clippy has several categories of lints, that can be...

enhancement
adoption barrier

Running `resyntax` on large codebases is slow, since it needs to macroexpand everything. But analysis of different modules is independent so it should be easy to parallelize the work using...

enhancement
adoption barrier

Adding new rules to Resyntax requires writing the rules in the [`resyntax/default-recommendations`](https://github.com/jackfirth/resyntax/tree/master/default-recommendations) folder. There's a few steps to this, some README docs in that folder would go a long way...

documentation
adoption barrier

Will close #61 eventually.