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:
Stevie Strickland 2009-03-03 02:07:30 +00:00
parent 2f065df887
commit 44523232e4

View File

@ -122,10 +122,6 @@
(with-syntax ([(isig ...) isig]
[(esig ...) esig]
[((import-id ...) ...)
(map (λ (sig) (map car (car sig))) import-sigs)]
[((export-id ...) ...)
(map (λ (sig) (map car (car sig))) export-sigs)]
[((import-key ...) ...)
(map tagged-info->keys import-tagged-infos)]
[((export-key ...) ...)
@ -143,30 +139,12 @@
(cons 'import
(list (cons 'isig
(map list (list 'i.x ...)
(let-syntax ([import-id
(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 ...))))
(build-compound-type-name 'i.c ...)))
...))
(cons 'export
(list (cons 'esig
(map list (list 'e.x ...)
(let-syntax ([export-id
(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 ...))))
(build-compound-type-name 'e.c ...)))
...)))
(λ (pos neg src-info name)
(λ (unit-tmp)