{"size": 1262, "ext": "scrbl", "max_stars_repo_path": "syntax-warn-doc/lang.scrbl", "max_stars_repo_name": "jackfirth/syntax-warn", "max_stars_repo_stars_event_min_datetime": "2016-09-14T03:12:52.000Z", "max_stars_repo_stars_event_max_datetime": "2020-06-29T18:26:57.000Z", "max_issues_repo_path": "syntax-warn-doc/lang.scrbl", "max_issues_repo_name": "jackfirth/syntax-warn", "max_issues_repo_issues_event_min_datetime": "2016-08-12T01:09:00.000Z", "max_issues_repo_issues_event_max_datetime": "2017-08-16T04:17:01.000Z", "max_forks_repo_path": "syntax-warn-doc/lang.scrbl", "max_forks_repo_name": "jackfirth/syntax-warn", "max_forks_repo_forks_event_min_datetime": "2016-08-12T02:09:59.000Z", "max_forks_repo_forks_event_max_datetime": "2019-02-26T17:42:32.000Z"}
{"max_stars_count": 7, "max_issues_count": 108, "max_forks_count": 6, "avg_line_length": 45.0714285714, "max_line_length": 78, "alphanum_fraction": 0.7686212361}
#lang scribble/manual

@(require "base.rkt")

@title[#:tag "syntax-warn-lang"]{The Syntax Warnings Language}
@defmodule[racket/base/warn #:packages ("syntax-warn" "syntax-warn-lang")]

This library provides a variant of the @racketmodname[racket/base]
language that adds @warn-tech{syntax warning} wrappers around various
forms. For example, the @racket[require] binding introduced by this
language enforces a few "good style" practices around require clauses.

When @racketmodname[racket/base/warn] is used as a @hash-lang[] language,
everything from @racketmodname[racket/base] is provided. Various forms
are adjusted to attach @warn-tech{syntax warnings} in certain cases.
@kind-tech{Warning kinds} for these warnings are also exported.

@defform[(require require-spec ...)]{
 Like in @racketmodname[racket/base], but warns @racket[require:phase-order]
 when the given @racket[require-spec] forms are not in
 @phase-order-tech-definition{phase order}. Phase order is @racket[for-syntax]
 first, @racket[for-template] second, @racket[for-label] third,
 @racket[for-meta] fourth, and all other forms fifth.}

@defthing[require:phase-order warning-kind?]{
 A @kind-tech{warning kind} for when @racket[require] clauses are not
 @phase-order-tech{phase ordered}.}
