58 lines
1.6 KiB
Racket
58 lines
1.6 KiB
Racket
#lang scribble/doc
|
|
@(require "common.rkt"
|
|
(for-label mzlib/unit))
|
|
|
|
@(begin
|
|
(define-syntax-rule (bind id)
|
|
(begin
|
|
(require (for-label scheme/unit))
|
|
(define id (scheme struct))))
|
|
(bind scheme-struct)
|
|
(define-syntax-rule (bindc id)
|
|
(begin
|
|
(require (for-label scheme/unit))
|
|
(define id (scheme struct/ctc))))
|
|
(bindc scheme-struct/ctc))
|
|
|
|
@mzlib[#:mode title unit]
|
|
|
|
The @schememodname[mzlib/unit] library mostly re-provides
|
|
@schememodname[scheme/unit], except for @scheme-struct and
|
|
@scheme-struct/ctc from @schememodname[scheme/unit].
|
|
|
|
@defform/subs[(struct id (field-id ...) omit-decl ...)
|
|
([omit-decl -type
|
|
-selectors
|
|
-setters
|
|
-constructor])]{
|
|
|
|
A signature form like @scheme-struct from @schememodname[scheme/unit],
|
|
but with a different syntax for the options that limit exports.}
|
|
|
|
@defform/subs[(struct/ctc id ([field-id contract-expr] ...) omit-decl ...)
|
|
([omit-decl -type
|
|
-selectors
|
|
-setters
|
|
-constructor])]{
|
|
|
|
A signature form like @scheme-struct/ctc from @schememodname[scheme/unit],
|
|
but with a different syntax for the options that limit exports.}
|
|
|
|
@deftogether[(
|
|
@defidform[struct~s]
|
|
@defidform[struct~s/ctc]
|
|
)]{
|
|
|
|
The same as @|scheme-struct| and @|scheme-struct/ctc| from
|
|
@schememodname[scheme/unit].}
|
|
|
|
@deftogether[(
|
|
@defidform[struct~r]
|
|
@defidform[struct~r/ctc]
|
|
)]{
|
|
|
|
Like @scheme[struct~s] and @scheme[struct~s/ctc], but the constructor is
|
|
named the same as the type, instead of with @schemeidfont{make-} prefix.}
|
|
|
|
|