From b0817bce2a7527363456be3576a813903d48f2de Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Tue, 19 Aug 2008 19:48:24 +0000 Subject: [PATCH] Better error messages for require/opaque-type svn: r11341 original commit: d546d6e045b10fa5e433800378ee6f75d96ede9c --- collects/typed-scheme/private/prims.ss | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/collects/typed-scheme/private/prims.ss b/collects/typed-scheme/private/prims.ss index c08757f2..ef3e7cc5 100644 --- a/collects/typed-scheme/private/prims.ss +++ b/collects/typed-scheme/private/prims.ss @@ -82,8 +82,11 @@ This file defines two sorts of primitives. All of them are provided into any mod (define-syntax (require/opaque-type stx) (syntax-case stx () [(_ ty pred lib) - (and (identifier? #'ty) (identifier? #'pred)) (begin + (unless (identifier? #'ty) + (raise-syntax-error #f "opaque type name must be an identifier" stx #'ty)) + (unless (identifier? #'pred) + (raise-syntax-error #f "opaque type predicate must be an identifier" stx #'pred)) (register-type-name #'ty (make-Opaque #'pred (syntax-local-certifier))) (quasisyntax/loc stx (begin