
Now (define-record-procedures-parametric pare pare-of make-pare pare? (pare-one pare-two)) instead of the old (define-record-procedures-parametric (pare a b) make-pare pare? (pare-one pare-two)) svn: r16035
58 lines
1.5 KiB
Racket
58 lines
1.5 KiB
Racket
#lang scribble/doc
|
|
@(require scribblings/htdp-langs/common
|
|
"std-grammar.ss"
|
|
"prim-ops.ss"
|
|
(for-label deinprogramm/DMdA-assignments))
|
|
|
|
@title[#:style 'toc #:tag "DMdA-advanced"]{Die Macht der Abstraktion fortgeschritten}
|
|
|
|
This is documentation for the language level @italic{Die Macht der
|
|
Abstraktion - fortgeschritten} that goes with the German textbook
|
|
@italic{Die Macht der Abstraktion}.
|
|
|
|
@declare-exporting[deinprogramm/DMdA-advanced]
|
|
|
|
@schemegrammar*-DMdA[
|
|
#:literals (define-record-procedures-2 set!)
|
|
(
|
|
(define-record-procedures-2 id id id (field-spec ...))
|
|
(define-record-procedures-parametric-2 id id id id (field-spec ...))
|
|
)
|
|
(
|
|
[field-spec id (id id)]
|
|
[quoted id
|
|
number
|
|
string
|
|
character
|
|
(quoted ...)
|
|
@#,elem{@schemevalfont{'}@scheme[quoted]}]
|
|
)
|
|
(
|
|
(set! id expr)
|
|
(code:line @#,elem{@schemevalfont{'}@scheme[quoted]} (code:comment @#,seclink["advanced-quote"]{Quote-Literal}))
|
|
)
|
|
]
|
|
|
|
@|prim-nonterms|
|
|
|
|
@prim-ops['(lib "DMdA-advanced.ss" "deinprogramm") #'here]
|
|
|
|
@section[#:tag "advanced-quote"]{Quote-Literal}
|
|
|
|
@deftogether[(
|
|
@defform/none[(unsyntax @elem{@schemevalfont{'}@scheme[quoted]})]
|
|
@defform[(quote quoted)]
|
|
)]{
|
|
Der Wert eines Quote-Literals hat die gleiche externe Repräsentation wie @scheme[quoted].
|
|
}
|
|
|
|
@section[#:tag "advanced-contracts"]{Verträge}
|
|
|
|
@defidform[symbol]{
|
|
Vertrag für Symbole.
|
|
}
|
|
|
|
@section[#:tag "advanced-prim-op"]{Primitive Operationen}
|
|
|
|
@prim-op-defns['(lib "DMdA-advanced.ss" "deinprogramm") #'here '()]
|