
The libraries moved were: - mzlib/control => racket/control - mzlib/date => racket/date - mzlib/deflate => file/gzip - mzlib/inflate => file/gunzip - mzlib/port => racket/port - mzlib/process => racket/system - mzlib/runtime-path => racket/runtime-path - mzlib/shared => racket/shared - mzlib/unit => racket/unit - mzlib/unit-exptime => racket/unit-exptime - mzlib/zip => file/zip The old modules in mzlib are now pointers to the new modules. These are all modules that were already redirected in the documentation.
28 lines
920 B
Racket
28 lines
920 B
Racket
#lang racket/base
|
|
|
|
(require "private/unit-syntax.rkt"
|
|
"private/unit-compiletime.rkt")
|
|
|
|
(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))))))))
|