Allow multiple identifier/contract pairs in the same contracted form.
svn: r13054
This commit is contained in:
parent
af69c0bbec
commit
0db2eb851a
|
@ -241,15 +241,15 @@
|
||||||
(x
|
(x
|
||||||
(identifier? #'x)
|
(identifier? #'x)
|
||||||
(loop (cdr sig-exprs) (cons #'x bindings) val-defs stx-defs (cons #f ctcs)))
|
(loop (cdr sig-exprs) (cons #'x bindings) val-defs stx-defs (cons #f ctcs)))
|
||||||
((x y z)
|
((x (y z) ...)
|
||||||
(and (identifier? #'x)
|
(and (identifier? #'x)
|
||||||
(module-identifier=? #'x #'contracted)
|
(module-identifier=? #'x #'contracted)
|
||||||
(identifier? #'y))
|
(andmap identifier? (syntax->list #'(y ...))))
|
||||||
(loop (cdr sig-exprs)
|
(loop (cdr sig-exprs)
|
||||||
(cons #'y bindings)
|
(append (syntax->list #'(y ...)) bindings)
|
||||||
val-defs
|
val-defs
|
||||||
stx-defs
|
stx-defs
|
||||||
(cons #'z ctcs)))
|
(append (syntax->list #'(z ...)) ctcs)))
|
||||||
((x . y)
|
((x . y)
|
||||||
(and (identifier? #'x)
|
(and (identifier? #'x)
|
||||||
(or (module-identifier=? #'x #'define-values)
|
(or (module-identifier=? #'x #'define-values)
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ nm cnt)
|
[(_ nm cnt)
|
||||||
(list #'nm)
|
(list #'nm)
|
||||||
#;(list #'[contracted nm cnt])]))
|
#;(list #'[contracted (nm cnt)])]))
|
||||||
|
|
||||||
(define-syntax (define-values/link-units/infer stx)
|
(define-syntax (define-values/link-units/infer stx)
|
||||||
;; construct something we can put in the imports/exports clause from the datum
|
;; construct something we can put in the imports/exports clause from the datum
|
||||||
|
|
Loading…
Reference in New Issue
Block a user