Add more documentation for Procedure type

Please merge to v6.0
(cherry picked from commit 1243d12248)
This commit is contained in:
Asumu Takikawa 2013-12-07 22:57:53 -05:00 committed by Ryan Culpepper
parent 3e32c8993f
commit a97ed3f5e7

View File

@ -513,7 +513,21 @@ functions and continuation mark functions.
(is-zero? 2 #:equality =)
(is-zero? 2 #:equality eq? #:zero 2.0)]}
@defidform[Procedure]{is the supertype of all function types.}
@defidform[Procedure]{is the supertype of all function types. The @racket[Procedure]
type corresponds to values that satisfy the @racket[procedure?] predicate.
Because this type encodes @emph{only} the fact that the value is a procedure, and
@emph{not} its argument types or even arity, the type-checker cannot allow values
of this type to be applied.
For the types of functions with known arity and argument types, see the @racket[->]
type constructor.
@ex[
(: my-list Procedure)
(define my-list list)
(my-list "zwiebelkuchen" "socca")
]
}
@defform[(U t ...)]{is the union of the types @racket[t ...].