aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-04-06 23:02:14 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-04-11 19:12:30 +0200
commit32175fb935683d00253a875e65dcb5bf498de15c (patch)
tree1c270435bd7cfe054bf25601c11c4231a85dd8e1 /scripts
parentManual fixup of f589216 (diff)
downloadcalp-32175fb935683d00253a875e65dcb5bf498de15c.tar.gz
calp-32175fb935683d00253a875e65dcb5bf498de15c.tar.xz
split (all-modules) into two procedures.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/all-modules.scm31
1 files changed, 18 insertions, 13 deletions
diff --git a/scripts/all-modules.scm b/scripts/all-modules.scm
index 41f35393..2d6b068c 100644
--- a/scripts/all-modules.scm
+++ b/scripts/all-modules.scm
@@ -3,12 +3,9 @@
:use-module (srfi srfi-1)
:use-module (ice-9 ftw)
:use-module (ice-9 match)
- :export (all-modules-under-directory))
-
-(define (all-modules-under-directory dir)
- "Returns two values, all scm files in dir, and all top
-level modules in those files"
+ :export (all-files-and-modules-under-directory all-modules-under-directory))
+(define (all-files-and-modules-under-directory dir)
(define re (make-regexp "\\.scm$"))
(define files '())
@@ -23,11 +20,19 @@ level modules in those files"
(else #t))))
- (values files
- (filter identity
- (map (lambda (file)
- (match (call-with-input-file file read)
- (('define-module (module ...) _ ...)
- module)
- (_ #f)))
- files))))
+ (map (lambda (file)
+ (list file
+ (match (call-with-input-file file read)
+ (('define-module (module ...) _ ...)
+ module)
+ (_ #f))))
+ files))
+
+(define (all-modules-under-directory dir)
+ "Returns two values, all scm files in dir, and all top
+level modules in those files"
+
+ (define pairs (all-files-and-modules-under-directory dir))
+ (values
+ (map car pairs)
+ (filter identity (map cadr pairs))))