match based on symbol for : in ->

svn: r14758
This commit is contained in:
Sam Tobin-Hochstadt 2009-05-08 23:31:33 +00:00
parent a828b89e92
commit fbae33b1c3

View File

@ -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)]))