From 7ecdc4eff31776aa6b7e8666ec93524c7374778c Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 16 Aug 2011 12:07:53 -0400 Subject: [PATCH] Document `typed/scheme' versions of `require/typed' and `require-typed-struct'. original commit: 39459ec9c4f16568b0c7bf2dd6bfec96b0ef4688 --- .../reference/compatibility-languages.scrbl | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/scribblings/reference/compatibility-languages.scrbl b/collects/typed-scheme/scribblings/reference/compatibility-languages.scrbl index 10234525..0ccdd6d4 100644 --- a/collects/typed-scheme/scribblings/reference/compatibility-languages.scrbl +++ b/collects/typed-scheme/scribblings/reference/compatibility-languages.scrbl @@ -1,7 +1,7 @@ #lang scribble/manual @begin[(require "../utils.rkt") - (require (for-label (only-meta-in 0 [except-in typed/racket for])))] + (require (for-label (only-meta-in 0 [except-in typed/scheme for])))] @title{Compatibility Languages} @@ -17,3 +17,29 @@ languages. The @racketmod[typed-scheme] language is equivalent to the typed-scheme/base-env/extra-procs typed-scheme/base-env/base-types typed-scheme/base-env/base-types-extra)) + +@(define-syntax-rule (def-racket rts rt arr) + (begin + (require (for-label (only-in typed/racket/base require-typed-struct require/typed ->))) + (define arr (racket ->)) + (define rts (racket require-typed-struct)) + (define rt (racket require/typed)))) +@(def-racket rts-id rt-id ->-id) + + +@defform/subs[#:literals (struct opaque) +(require/typed m rt-clause ...) +([rt-clause [r t] + [struct name ([f : t] ...) + struct-option ...] + [struct (name parent) ([f : t] ...) + struct-option ...] + [opaque t pred]] + [struct-option + (code:line #:constructor-name constructor-id) + (code:line #:extra-constructor-name constructor-id)])]{ + Similar to @|rt-id|, but as if @racket[#:extra-constructor-name make-name] was supplied. +} + +@defidform[require-typed-struct]{Similar to using the @racket[struct] +keyword with @racket[require/typed].}