tag-id -> tag-expr

This is because the optional tag argument can be any expression,
as pointed out by Matthew.
This commit is contained in:
Leif Andersen 2017-10-16 13:33:27 -04:00
parent 2a8bece8de
commit b940ee8440

View File

@ -57,14 +57,14 @@ are not tagged.}
@defform*[[(define-cpointer-type _id)
(define-cpointer-type _id #:tag tag-id)
(define-cpointer-type _id #:tag tag-expr)
(define-cpointer-type _id ptr-type-expr)
(define-cpointer-type _id ptr-type-expr #:tag tag-id)
(define-cpointer-type _id ptr-type-expr #:tag tag-expr)
(define-cpointer-type _id ptr-type-expr
racket-to-c-expr c-to-racket-expr)
(define-cpointer-type _id ptr-type-expr
racket-to-c-expr c-to-racket-expr
#:tag tag-id)]]{
#:tag tag-expr)]]{
A macro version of @racket[_cpointer] and @racket[_cpointer/null],
using the defined name for a tag symbol, and defining a predicate
@ -77,7 +77,7 @@ In addition to defining @racket[_id] to a type generated by
type produced by @racket[_cpointer/null] type. Finally,
@racketvarfont{id}@racketidfont{?} is defined as a predicate, and
@racketvarfont{id}@racketidfont{-tag} is defined as an accessor to
obtain a tag. If provided, the tag is @racket[tag-id], otherwise
obtain a tag. If provided, the tag is @racket[tag-expr], otherwise
it is the symbol form of @racketvarfont{id}.}
@defproc[(cpointer-predicate-procedure? [v any/c]) boolean?]{Returns