compatibility/collects/mzlib/unit-exptime.ss
Stevie Strickland e19d7a7128 Moving unit system from mzscheme->scheme/base, reformatting and small changes
as necessary.  Ran the quiet testsuite, unit tests, and setup-plt, all good.

svn: r17582

original commit: 73d68593af6b7c3a389013527f9b2a46618d1642
2010-01-08 21:44:42 +00:00

28 lines
918 B
Scheme

#lang scheme/base
(require "private/unit-syntax.ss"
"private/unit-compiletime.ss")
(provide unit-static-signatures
signature-members)
(define (unit-static-signatures name err-stx)
(parameterize ((error-syntax err-stx))
(let ((ui (lookup-def-unit name)))
(values (apply list (unit-info-import-sig-ids ui))
(apply list (unit-info-export-sig-ids ui))))))
(define (signature-members name err-stx)
(parameterize ((error-syntax err-stx))
(let ([s (lookup-signature name)])
(values
;; extends:
(and (pair? (cdr (siginfo-names (signature-siginfo s))))
(cadr (siginfo-names (signature-siginfo s))))
;; vars
(apply list (signature-vars s))
;; defined vars
(apply list (apply append (map car (signature-val-defs s))))
;; defined stxs
(apply list (apply append (map car (signature-stx-defs s))))))))