From 9f7ae2f23fd2a4e7417622c39ac65e6662a56613 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Fri, 8 May 2009 23:31:33 +0000 Subject: [PATCH] match based on symbol for : in -> svn: r14758 original commit: fbae33b1c3d49eca4a8f7d08bcd88f13d10eb4b1 --- collects/typed-scheme/types/abbrev.ss | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/collects/typed-scheme/types/abbrev.ss b/collects/typed-scheme/types/abbrev.ss index 1b5e2f93..53729ed8 100644 --- a/collects/typed-scheme/types/abbrev.ss +++ b/collects/typed-scheme/types/abbrev.ss @@ -188,11 +188,12 @@ (make-Function (list (make-arr* dom rng #:rest rst #:filters filters #:object object)))])) (define-syntax (-> stx) + (define-syntax-class c + (pattern x:id #:when (eq? ': (syntax-e #'x)))) (syntax-parse stx - #:literals (:) - [(_ dom ... rng : filters) + [(_ dom ... rng :c filters) #'(->* (list dom ...) rng : filters)] - [(_ dom ... rng : filters) + [(_ dom ... rng :c filters) #'(->* (list dom ...) rng : filters)] [(_ dom ... rng) #'(->* (list dom ...) rng)]))