jackfirth / jackfirth/resyntax

First cut at some Typed Racket refactorings

Open
#13 2 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

new lint
Dominant language
Racket
Stars
70
Forks
11
PR merge metrics
No merged PRs in 30d

Description

Here are some ideas for using resyntax on Typed Racket code. These are quite superficial and don't depend on any knowledge of the types.

  • Singleton union types: rewrite the type (U t) to just t.

  • Replace define-type-alias with define-type.

  • Replace define-typed-struct and define-typed-struct: (with a colon at the end) with struct.

  • Replace Un with U.

This is just a sampler of legacy forms taken from here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Typed Racket Legacy Forms reference linked in the issue, then inspect resyntax's existing refactoring entry points. Scope the work around the four listed rewrites: singleton (U t), define-type-alias, both define-typed-struct forms, and Un. The issue names no files or tests; done means each listed legacy form is transformed to its corresponding modern form.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.