source code: https://github.com/AlexKnauth/hygienic-quote-lang

A lang-extension that overrides the ', `, etc. abbreviations for quote, quasiquote, etc, and provides hygienic versions instead.
Even if you re-define quote somewhere in your program (either accidentally or on purpose), '3 will use the quote from racket/base, not your definition. The same is true for ` as quasiquote, , as unquote, ,@ as unquote-splicing, #' as syntax, #` as quasisyntax, #, as unsyntax, and #,@ as unsyntax-splicing.
#lang hygienic-quote racket
(define (quote x) 5)
'3 ; still 3