While this gets us most of the way there, it doesn't get us all the way,
because signature identifiers are shown as quoted. I'll think about this a little longer. svn: r13904
This commit is contained in:
parent
2f065df887
commit
44523232e4
|
@ -122,10 +122,6 @@
|
||||||
|
|
||||||
(with-syntax ([(isig ...) isig]
|
(with-syntax ([(isig ...) isig]
|
||||||
[(esig ...) esig]
|
[(esig ...) esig]
|
||||||
[((import-id ...) ...)
|
|
||||||
(map (λ (sig) (map car (car sig))) import-sigs)]
|
|
||||||
[((export-id ...) ...)
|
|
||||||
(map (λ (sig) (map car (car sig))) export-sigs)]
|
|
||||||
[((import-key ...) ...)
|
[((import-key ...) ...)
|
||||||
(map tagged-info->keys import-tagged-infos)]
|
(map tagged-info->keys import-tagged-infos)]
|
||||||
[((export-key ...) ...)
|
[((export-key ...) ...)
|
||||||
|
@ -143,30 +139,12 @@
|
||||||
(cons 'import
|
(cons 'import
|
||||||
(list (cons 'isig
|
(list (cons 'isig
|
||||||
(map list (list 'i.x ...)
|
(map list (list 'i.x ...)
|
||||||
(let-syntax ([import-id
|
(build-compound-type-name 'i.c ...)))
|
||||||
(make-set!-transformer
|
|
||||||
(λ (stx)
|
|
||||||
(syntax-case stx (set!)
|
|
||||||
[(id . x)
|
|
||||||
#'(list 'import-id . x)]
|
|
||||||
[id
|
|
||||||
(identifier? #'id)
|
|
||||||
#''import-id])))] ...)
|
|
||||||
(build-compound-type-name i.c ...))))
|
|
||||||
...))
|
...))
|
||||||
(cons 'export
|
(cons 'export
|
||||||
(list (cons 'esig
|
(list (cons 'esig
|
||||||
(map list (list 'e.x ...)
|
(map list (list 'e.x ...)
|
||||||
(let-syntax ([export-id
|
(build-compound-type-name 'e.c ...)))
|
||||||
(make-set!-transformer
|
|
||||||
(λ (stx)
|
|
||||||
(syntax-case stx (set!)
|
|
||||||
[(id . x)
|
|
||||||
#'(list 'export-id . x)]
|
|
||||||
[id
|
|
||||||
(identifier? #'id)
|
|
||||||
#''export-id])))] ...)
|
|
||||||
(build-compound-type-name e.c ...))))
|
|
||||||
...)))
|
...)))
|
||||||
(λ (pos neg src-info name)
|
(λ (pos neg src-info name)
|
||||||
(λ (unit-tmp)
|
(λ (unit-tmp)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user