Allow multiple identifier/contract pairs in the same contracted form.

svn: r13054
This commit is contained in:
Stevie Strickland 2009-01-09 22:22:24 +00:00
parent af69c0bbec
commit 0db2eb851a
2 changed files with 5 additions and 5 deletions

View File

@ -241,15 +241,15 @@
(x
(identifier? #'x)
(loop (cdr sig-exprs) (cons #'x bindings) val-defs stx-defs (cons #f ctcs)))
((x y z)
((x (y z) ...)
(and (identifier? #'x)
(module-identifier=? #'x #'contracted)
(identifier? #'y))
(andmap identifier? (syntax->list #'(y ...))))
(loop (cdr sig-exprs)
(cons #'y bindings)
(append (syntax->list #'(y ...)) bindings)
val-defs
stx-defs
(cons #'z ctcs)))
(append (syntax->list #'(z ...)) ctcs)))
((x . y)
(and (identifier? #'x)
(or (module-identifier=? #'x #'define-values)

View File

@ -13,7 +13,7 @@
(syntax-case stx ()
[(_ nm cnt)
(list #'nm)
#;(list #'[contracted nm cnt])]))
#;(list #'[contracted (nm cnt)])]))
(define-syntax (define-values/link-units/infer stx)
;; construct something we can put in the imports/exports clause from the datum