Skip to content

Deprecated aliases #234

@jackfirth

Description

@jackfirth

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 extend rename-out (and the rename option of contract-out) with a #:deprecated keyword, like so:

(provide foo
         (rename-out [foo old-foo #:deprecated]))

Metadata

Metadata

Assignees

No one assigned

    Labels

    new lintIssues suggesting new lints or pull requests implementing new lints

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions