{"size": 1209, "ext": "scrbl", "max_stars_repo_path": "unstable-doc/scribblings/define.scrbl", "max_stars_repo_name": "racket/unstable", "max_stars_repo_stars_event_min_datetime": "2018-08-24T22:01:32.000Z", "max_stars_repo_stars_event_max_datetime": "2018-08-24T22:01:32.000Z", "max_issues_repo_path": "unstable-doc/scribblings/define.scrbl", "max_issues_repo_name": "racket/unstable", "max_issues_repo_issues_event_min_datetime": "2020-06-25T14:58:07.000Z", "max_issues_repo_issues_event_max_datetime": "2020-06-25T19:01:25.000Z", "max_forks_repo_path": "unstable-doc/scribblings/define.scrbl", "max_forks_repo_name": "racket/unstable", "max_forks_repo_forks_event_min_datetime": "2015-01-20T15:40:24.000Z", "max_forks_repo_forks_event_max_datetime": "2018-08-24T22:01:34.000Z"}
{"max_stars_count": 1, "max_issues_count": 2, "max_forks_count": 4, "avg_line_length": 23.25, "max_line_length": 79, "alphanum_fraction": 0.7146401985}
#lang scribble/manual
@(require scribble/eval "utils.rkt"
          (for-label racket unstable/define
                     (only-in mzlib/etc define-syntax-set)))

@(define the-eval (make-base-eval))
@(the-eval '(require unstable/define (for-syntax racket/base)))

@title{Definitions}
@unstable[@author+email["Carl Eastlund" "cce@racket-lang.org"]]

@defmodule[unstable/define]

Provides macros for creating and manipulating definitions.

@defform[(at-end expr)]{

When used at the top level of a module, evaluates @racket[expr] at the end of
the module.  This can be useful for calling functions before their definitions.

@defexamples[
#:eval the-eval
(module Failure scheme
  (f 5)
  (define (f x) x))
(require 'Failure)
(module Success scheme
  (require unstable/define)
  (at-end (f 5))
  (define (f x) x))
(require 'Success)
]

}

@defform[(in-phase1 e)]{

Executes @racket[e] during phase 1 (the syntax transformation phase)
relative to its context, during pass 1 if it occurs in a head expansion
position.

}

@defform[(in-phase1/pass2 e)]{

Executes @racket[e] during phase 1 (the syntax transformation phase)
relative to its context, during pass 2 (after head expansion).

}

@(close-eval the-eval)
