racket/collects/scribblings/foreign/unsafe.scrbl
Eli Barzilay cd2724534a typos from Will Farr
svn: r8440
2008-01-28 08:18:58 +00:00

31 lines
1.1 KiB
Racket

#lang scribble/doc
@(require "utils.ss")
@title{Macros for Unsafety}
@defform[(unsafe!)]{
Makes most of the bindings documented in this module available. See
@secref["intro"] for information on why this declaration is required.}
@defform/subs[#:literals (unsafe rename-out)
(provide* provide-star-spec ...)
([provide-star-spec (unsafe id)
(unsafe (rename-out [id external-id]))
provide-spec])]{
Like @scheme[provide], but @scheme[id]s under @scheme[unsafe] are not
actually provided. Instead, they are collected for introduction into
an importing module via a macro created by @scheme[define-unsafer].
Providing users with unsafe operations without using this facility
should be considered a bug in your code.}
@defform[(define-unsafer id)]{
Cooperates with @scheme[provide*] to define @scheme[id] as a
@scheme[unsafe!]-like form that introduces definitions for each
binding provided as @scheme[unsafe]. The @scheme[define-unsafer] form
must occur after all the @scheme[provide*] forms to which it refers.}