From ef5b55b29361dcaf7001edfcfc963c605ae4028c Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Tue, 29 Apr 2014 22:34:59 -0400 Subject: [PATCH] Refactor TR's no-check-helper module original commit: f60908c7aa2eebc65a539f215d2a174e1833367c --- .../typed/private/no-check-helper.rkt | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed/private/no-check-helper.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed/private/no-check-helper.rkt index a8591bf4..98b2ff30 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed/private/no-check-helper.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed/private/no-check-helper.rkt @@ -1,5 +1,7 @@ #lang racket/base +;; This module provides compatibility macros for no-check mode + (require (except-in typed-racket/base-env/prims require/typed require/opaque-type require-typed-struct) @@ -24,22 +26,14 @@ #:attributes (nm ty) (pattern [nm:opt-rename ty])) (define-syntax-class struct-clause - ;#:literals (struct) #:attributes (nm (body 1) (opts 1)) (pattern [(~or #:struct (~datum struct)) nm:opt-rename (body ...) opts:struct-option ...])) (define-syntax-class opaque-clause - ;#:literals (opaque) #:attributes (ty pred opt) - (pattern [#:opaque ty:id pred:id] + (pattern [(~or #:opaque (~datum opaque)) ty:id pred:id] #:with opt #'()) - (pattern [#:opaque ty:id pred:id #:name-exists] - #:with opt #'(#:name-exists)) - (pattern [opaque ty:id pred:id] - #:fail-unless (eq? 'opaque (syntax-e #'opaque)) #f - #:with opt #'()) - (pattern [opaque ty:id pred:id #:name-exists] - #:fail-unless (eq? 'opaque (syntax-e #'opaque)) #f + (pattern [(~or #:opaque (~datum opaque)) ty:id pred:id #:name-exists] #:with opt #'(#:name-exists))) (define-splicing-syntax-class struct-option (pattern (~seq #:constructor-name cname:id))