From 8bc95ace0190c2afe2ce4bd19f021c08ec737660 Mon Sep 17 00:00:00 2001 From: Mike Sperber Date: Fri, 17 Sep 2010 17:52:43 +0200 Subject: [PATCH] Unbreak signatures for BSL. --- collects/lang/private/teach-module-begin.rkt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/collects/lang/private/teach-module-begin.rkt b/collects/lang/private/teach-module-begin.rkt index 0857726062..8d9285c26c 100644 --- a/collects/lang/private/teach-module-begin.rkt +++ b/collects/lang/private/teach-module-begin.rkt @@ -13,6 +13,8 @@ (for-syntax syntax/boundmap) (for-syntax syntax/kerncase)) +(require (for-syntax "firstorder.ss")) + (define-syntax (print-results stx) (syntax-case stx () ((_ expr) @@ -46,13 +48,13 @@ (filter (lambda (maybe) (syntax-case maybe (:) ((: ?id ?cnt) - (identifier? #'id) - (begin - (when (bound-identifier-mapping-get table #'?id (lambda () #f)) + (identifier? #'?id) + (let ((real-id (first-order->higher-order #'?id))) + (when (bound-identifier-mapping-get table real-id (lambda () #f)) (raise-syntax-error #f "Second signature declaraton for the same name." maybe)) - (bound-identifier-mapping-put! table #'?id #'?cnt) + (bound-identifier-mapping-put! table real-id #'?cnt) #f)) ((: ?id) (raise-syntax-error 'signatures "Signature declaration is missing a signature." maybe))