racket/collects/scribblings/reference/mz.rkt
Matthew Flatt b69573277c reference: rerrange docs on synchronizable events
Put the details consistently with event datatypes, instead
of trying to put them all in `sync', which better reflects
the extensibility of the set of synchronizable events.
2012-12-25 07:20:58 -06:00

154 lines
4.8 KiB
Racket

#lang at-exp racket/base
(require scribble/struct
scribble/manual
scribble/eval
scribble/decode
racket/contract
"../icons.rkt")
(provide (all-from-out scribble/manual)
(all-from-out scribble/eval)
(all-from-out racket/contract))
(require (for-label racket))
(provide (for-label (all-from-out racket)))
(provide mz-examples)
(define mz-eval (make-base-eval))
(define-syntax mz-examples
(syntax-rules ()
[(_ #:eval . rest)
(examples #:eval . rest)]
[(_ . rest)
(examples #:eval mz-eval . rest)]))
(define AllUnix "Unix and Mac OS X")
(provide AllUnix)
(provide note-lib)
(define-syntax note-lib
(syntax-rules ()
[(_ lib #:use-sources (src ...) . more)
(begin
(declare-exporting lib racket #:use-sources (src ...))
(defmodule*/no-declare (lib)
(t (make-collect-element
#f null
(lambda (ci)
(collect-put! ci `(racket-extra-lib ,'lib) (racketmodname lib))))
"The bindings documented in this section are provided by the "
(racketmodname lib)
" and "
(racketmodname racket)
" libraries, but not " (racketmodname racket/base)
"."
. more)))]
[(_ lib . more)
(note-lib lib #:use-sources () . more)]))
(provide note-init-lib)
(define-syntax note-init-lib
(syntax-rules ()
[(_ lib #:use-sources (src ...) . more)
(begin
(declare-exporting lib racket/init #:use-sources (src ...))
(defmodule*/no-declare (lib)
(t "The bindings documented in this section are provided by the "
(racketmodname lib)
" and "
(racketmodname racket/init)
" libraries, which means that they are available when "
" the Racket executable is started with no command-line arguments."
" They are not provided by " (racketmodname racket/base)
" or " (racketmodname racket) "."
. more)))]
[(_ lib . more)
(note-init-lib lib #:use-sources () . more)]))
(provide note-lib-only)
(define-syntax note-lib-only
(syntax-rules ()
[(_ lib #:use-sources (src ...) . more)
(defmodule lib #:use-sources (src ...)
(t "The bindings documented in this section are provided by the "
(racketmodname lib)
" library, not " (racketmodname racket/base)
" or " (racketmodname racket)
"."
. more))]
[(_ lib . more)
(note-lib-only lib #:use-sources () . more)]))
(define (*exnraise s)
(make-element #f (list s " exception is raised")))
(define-syntax exnraise
(syntax-rules ()
[(_ s) (*exnraise (racket s))]))
(define-syntax Exn
(syntax-rules ()
[(_ s) (racket s)]))
(provide exnraise Exn)
(provide margin-note/ref
refalso moreref Guide guideintro guidealso guidesecref
raco-doc)
(define (margin-note/ref . s)
(apply margin-note
(decode-content (cons magnify s))))
(define (refalso tag . s)
(apply margin-note
(decode-content (append (list magnify (secref tag) " also provides information on ")
s
(list ".")))))
(define (moreref tag . s)
(apply margin-note
(decode-content (append (list magnify (secref tag) " provides more information on ")
s
(list ".")))))
(define (guidesecref s)
(secref #:doc '(lib "scribblings/guide/guide.scrbl") s))
(define (guideintro tag . s)
(apply margin-note
(decode-content (append (list finger (guidesecref tag) " in " Guide " introduces ")
s
(list ".")))))
(define (guidealso tag)
(apply margin-note
(decode-content (append (list finger "See also " (guidesecref tag) " in " Guide ".")))))
(define Guide
(other-manual '(lib "scribblings/guide/guide.scrbl")))
(define raco-doc
'(lib "scribblings/raco/raco.scrbl"))
(provide see-read-print)
(define (see-read-print tag-part #:print [print-tag-part tag-part] vals)
@elem{See @secref[(string-append "parse-" tag-part)]
for information on @racket[read]ing
@|vals| and @secref[(string-append "print-" print-tag-part)]
for information on @racket[print]ing @|vals|.})
(provide speed)
(define-syntax speed
(syntax-rules ()
[(_ id what)
(t "An " (racket id) " application can provide better performance for "
(elem what)
" iteration when it appears directly in a " (racket for) " clause.")]))
(provide resultItself ResultItself)
(define (esultItself T x)
(make-element #f (list T "he "
(tech "synchronization result")
" of a " x " is the " x " itself")))
(define (ResultItself x) (esultItself "T" x))
(define (resultItself x) (esultItself "t" x))