summaryrefslogtreecommitdiffstats
path: root/vet.scm
diff options
context:
space:
mode:
Diffstat (limited to 'vet.scm')
-rw-r--r--vet.scm92
1 files changed, 49 insertions, 43 deletions
diff --git a/vet.scm b/vet.scm
index 56b13cb..31cd032 100644
--- a/vet.scm
+++ b/vet.scm
@@ -26,36 +26,35 @@
(define r4rs-symbols
'(* + - -> / < <= = => > >= ... abs acos and angle append apply asin
- assoc assq assv atan begin boolean? caaaar caaadr caaar caadar caaddr
- caadr caar cadaar cadadr cadar caddar cadddr caddr cadr
+ assoc assq assv atan begin boolean? caaaar caaadr caaar caadar
+ caaddr caadr caar cadaar cadadr cadar caddar cadddr caddr cadr
call-with-current-continuation call-with-input-file
- call-with-output-file car case cdaaar cdaadr cdaar cdadar cdaddr cdadr
- cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr ceiling
- char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=?
- char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric?
- char-ready? char-upcase char-upper-case? char-whitespace? char<=?
- char<? char=? char>=? char>? char? close-input-port
- close-output-port complex? cond cons cos current-input-port
- current-output-port define denominator display do else eof-object?
- eq? equal? eqv? even? exact->inexact exact? exp expt floor
- for-each force gcd if imag-part implementation-vicinity in-vicinity
- inexact->exact inexact? input-port? integer->char integer? lambda
- lcm length let let* letrec library-vicinity list list->string
- list->vector list-ref list-tail list? load log magnitude make-polar
- make-rectangular make-string make-vector make-vicinity map max member
- memq memv min modulo negative? newline not null? number->string
- number? numerator odd? open-input-file open-output-file or
- output-port? pair? peek-char positive? procedure? quasiquote
- quotient rational? rationalize read read-char real-part real?
- remainder reverse round set! set-car! set-cdr! sin sqrt string
- string->list string->number string->symbol string-append string-ci<=?
- string-ci<? string-ci=? string-ci>=? string-ci>? string-copy
- string-fill! string-length string-ref string-set! string<=?
- string<? string=? string>=? string>? string? sub-vicinity
- substring symbol->string symbol? tan transcript-off transcript-on
- truncate unquote unquote-splicing user-vicinity vector vector->list
- vector-fill! vector-length vector-ref vector-set! vector?
- with-input-from-file with-output-to-file write write-char zero? ))
+ call-with-output-file car case cdaaar cdaadr cdaar cdadar cdaddr
+ cdadr cdar cddaar cddadr cddar cdddar cddddr cdddr cddr cdr
+ ceiling char->integer char-alphabetic? char-ci<=? char-ci<?
+ char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case?
+ char-numeric? char-ready? char-upcase char-upper-case?
+ char-whitespace? char<=? char<? char=? char>=? char>? char?
+ close-input-port close-output-port complex? cond cons cos
+ current-input-port current-output-port define display do else
+ eof-object? eq? equal? eqv? even? exact->inexact exact? exp expt
+ floor for-each gcd if imag-part implementation-vicinity
+ in-vicinity inexact->exact inexact? input-port? integer->char
+ integer? lambda lcm length let let* letrec library-vicinity list
+ list-ref list->string list->vector list? load log magnitude
+ make-polar make-rectangular make-string make-vector
+ make-vicinity map max member memq memv min modulo negative?
+ newline not null? number->string number? odd? open-input-file
+ open-output-file or output-port? pair? peek-char positive?
+ procedure? quasiquote quotient rational? read read-char
+ real-part real? remainder reverse round set! set-car! set-cdr!
+ sin sqrt string string->list string->number string->symbol
+ string-append string-ci<=? string-ci<? string-ci=? string-ci>=?
+ string-ci>? string-length string-ref string-set! string<=?
+ string<? string=? string>=? string>? string? sub-vicinity
+ substring symbol->string symbol? tan truncate unquote
+ unquote-splicing user-vicinity vector vector->list vector-length
+ vector-ref vector-set! vector? write write-char zero? ))
(define (path<-entry entry)
(define (findit path)
@@ -130,10 +129,10 @@
(set! cur (+ 1 objl cur))))))
lst)))
-;;@body
+;;@args file1 @dots{}
;;Using the procedures in the @code{top-refs} and @code{manifest}
-;;modules, @0 analyzes each SLIB module, reporting about any
-;;procedure or macro defined whether it is:
+;;modules, @0 analyzes each SLIB module and @1, @dots{}, reporting
+;;about any procedure or macro defined whether it is:
;;
;;@table @asis
;;
@@ -159,7 +158,10 @@
;;never-executed branches, transitive require assumptions, spelling
;;errors, undocumented procedures, missing procedures, and cyclic
;;dependencies in SLIB.
-(define (vet-slib)
+;;
+;;The optional arguments @1, @dots{} provide a simple way to vet
+;;prospective SLIB modules.
+(define (vet-slib . files)
(define infos
(exports<-info-index (in-vicinity (library-vicinity) "slib.info") 1 2))
(define r4rs+slib #f)
@@ -203,16 +205,20 @@
(show missings 'missing)
)))))
(set! r4rs+slib (union r4rs-symbols slib-exports))
- (for-each (lambda (entry)
- (set! export-alist
- (cons (cons (car entry)
- (feature->exports (car entry) slib:catalog))
- export-alist)))
- slib:catalog)
- (for-each (lambda (entry)
- (define path (path<-entry entry))
- (and path (dopath path)))
- slib:catalog)
+ (let ((catalog
+ (append (map (lambda (file) (cons (string->symbol file) file))
+ files)
+ slib:catalog)))
+ (for-each (lambda (entry)
+ (set! export-alist
+ (cons (cons (car entry)
+ (feature->exports (car entry) slib:catalog))
+ export-alist)))
+ catalog)
+ (for-each (lambda (entry)
+ (define path (path<-entry entry))
+ (and path (dopath path)))
+ catalog))
(write '("SLIB"))
(show (set-difference infos (union r4rs+slib all-exports))
'documented-unexports))