- Notifications
You must be signed in to change notification settings - Fork 11
Deprecated aliases #234
Copy link
Copy link
Open
Labels
new lintIssues suggesting new lints or pull requests implementing new lintsIssues suggesting new lints or pull requests implementing new lints
Description
Activity
Metadata
Metadata
Assignees
Labels
new lintIssues suggesting new lints or pull requests implementing new lintsIssues suggesting new lints or pull requests implementing new lints
When a library wants to rename an identifier, it has to keep the old name around to avoid breaking backward compatibility. This is usually achieved with
rename-out. It would be nice for library authors to be able to specify that a renamed identifier is a deprecated alias of another identifier. If this was done in such a way that it exposed static information for Resyntax to use, then Resyntax could automatically migrate uses of deprecated aliases. One way this could work is to extendrename-out(and therenameoption ofcontract-out) with a#:deprecatedkeyword, like so:(provide foo (rename-out [foo old-foo #:deprecated]))