{"size": 925, "ext": "scrbl", "max_stars_repo_path": "optional-assert/optional-assert.scrbl", "max_stars_repo_name": "maueroats/syntax-parse-example", "max_stars_repo_stars_event_min_datetime": "2017-05-18T22:15:56.000Z", "max_stars_repo_stars_event_max_datetime": "2021-09-17T13:13:05.000Z", "max_issues_repo_path": "optional-assert/optional-assert.scrbl", "max_issues_repo_name": "maueroats/syntax-parse-example", "max_issues_repo_issues_event_min_datetime": "2017-05-18T22:54:53.000Z", "max_issues_repo_issues_event_max_datetime": "2021-10-19T02:58:50.000Z", "max_forks_repo_path": "optional-assert/optional-assert.scrbl", "max_forks_repo_name": "maueroats/syntax-parse-example", "max_forks_repo_forks_event_min_datetime": "2017-05-19T14:27:57.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-30T09:36:54.000Z"}
{"max_stars_count": 22, "max_issues_count": 20, "max_forks_count": 6, "avg_line_length": 28.0303030303, "max_line_length": 108, "alphanum_fraction": 0.6745945946}
#lang syntax-parse-example
@require[
  (for-label racket/base racket/contract syntax/parse syntax-parse-example/optional-assert/optional-assert)]

@(define optional-assert-eval
   (make-base-eval '(require syntax-parse-example/optional-assert/optional-assert)))

@title{@tt{optional-assert}}

@; =============================================================================

@defmodule[syntax-parse-example/optional-assert/optional-assert]{}

@defform[(optional-assert expr ...)]{
  The @racket[optional-assert] form expands to either:
  @itemlist[
  @item{
    a test that evaluates an expression and halts the program if the result is @racket[#f],
  }
  @item{
    or nothing
  }
  ]
  depending on the compile-time value of the environment variable @litchar{DISABLE_OPTIONAL_ASSERT}.

  @racketfile{optional-assert.rkt}

}

@defproc[(exn:fail:optional-assert? [x any/c]) boolean?]{
  Predicate for an assertion failure.
}
