{"size": 930, "ext": "scrbl", "max_stars_repo_path": "hygienic-quote/scribblings/hygienic-quote.scrbl", "max_stars_repo_name": "AlexKnauth/hygienic-quote-lang", "max_stars_repo_stars_event_min_datetime": "2015-10-27T06:31:32.000Z", "max_stars_repo_stars_event_max_datetime": "2020-06-21T06:21:10.000Z", "max_issues_repo_path": "hygienic-quote/scribblings/hygienic-quote.scrbl", "max_issues_repo_name": "AlexKnauth/hygienic-quote-lang", "max_issues_repo_issues_event_min_datetime": "2015-10-27T07:09:55.000Z", "max_issues_repo_issues_event_max_datetime": "2015-10-27T16:10:21.000Z", "max_forks_repo_path": "hygienic-quote/scribblings/hygienic-quote.scrbl", "max_forks_repo_name": "AlexKnauth/hygienic-quote-lang", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 2, "max_issues_count": 1, "max_forks_count": null, "avg_line_length": 34.4444444444, "max_line_length": 80, "alphanum_fraction": 0.7258064516}
#lang scribble/manual

@(require (for-label racket/base))

@title{hygienic-quote}

source code: @url{https://github.com/AlexKnauth/hygienic-quote-lang}

@defmodule[hygienic-quote #:lang]{
A lang-extension that overrides the @litchar{'}, @litchar{`}, etc. abbreviations
for @racket[quote], @racket[quasiquote], etc, and provides hygienic versions
instead.

Even if you re-define @racketvarfont{quote} somewhere in your program (either
accidentally or on purpose), @racket['3] will use the @racket[quote] from
@racketmodname[racket/base], not your definition. The same is true for
@litchar{`} as @racket[quasiquote], @litchar{,} as @racket[unquote],
@litchar|{,@}| as @racket[unquote-splicing], @litchar{#'} as @racket[syntax],
@litchar{#`} as @racket[quasisyntax], @litchar{#,} as @racket[unsyntax], and
@litchar|{#,@}| as @racket[unsyntax-splicing].

@codeblock|{
#lang hygienic-quote racket
(define (quote x) 5)
'3 ; still 3
}|}
