8 Typed Regions
The with-type form allows for localized Typed Racket regions in otherwise untyped code.
syntax
(with-type result-spec fv-clause body ...+)
(with-type export-spec fv-clause body ...+)
fv-clause =
| #:freevars ([id fv-type] ...) result-spec = #:result type export-spec = ([export-id export-type] ...)
The second form, which can be used as a definition, checks that each of the export-ids has the specified type. These types are also enforced in the surrounding code with contracts.
The ids are assumed to have the types ascribed to them; these types are converted to contracts and checked dynamically.
Examples: | ||||||||||||||||||||||||||||||||||||||||||
|