explain #:unprotected-submodule

This commit is contained in:
Robby Findler 2019-05-20 09:50:46 -05:00
parent 541a8e870f
commit b52dbdcd5b

View File

@ -1855,6 +1855,12 @@ the values they accept and ensure that the exported functions are treated
parametrically. See @racket[new-∃/c] and @racket[new-∀/c] for details parametrically. See @racket[new-∃/c] and @racket[new-∀/c] for details
on how the clauses hide the values. on how the clauses hide the values.
If @racket[#:unprotected-submodule] appears, the identifier
that follows it is used as the name of a submodule that
@racket[contract-out] generates. The submodule exports all
of the names in the @racket[contract-out], but without
contracts.
The implementation of @racket[contract-out] uses The implementation of @racket[contract-out] uses
@racket[syntax-property] to attach properties to the code it generates @racket[syntax-property] to attach properties to the code it generates
that records the syntax of the contracts in the fully expanded program. that records the syntax of the contracts in the fully expanded program.