aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-09-18 22:53:46 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2022-09-18 22:53:46 +0200
commit24f1360f694ec0f3e4cfc392a5392fef0576dd13 (patch)
tree4c693b0c75372d52289098a1b479931792b7e65a
parentSlightly better error handling in HTTP routes. (diff)
downloadcalp-24f1360f694ec0f3e4cfc392a5392fef0576dd13.tar.gz
calp-24f1360f694ec0f3e4cfc392a5392fef0576dd13.tar.xz
Move get-forms to module static-util.
-rw-r--r--scripts/all-modules.scm1
-rwxr-xr-xscripts/get-config.scm2
-rwxr-xr-xscripts/module-dependants.scm3
-rwxr-xr-xscripts/module-imports.scm3
-rw-r--r--scripts/module-introspection.scm23
-rwxr-xr-xscripts/peg-to-graph.scm3
-rw-r--r--scripts/static-util.scm9
7 files changed, 19 insertions, 25 deletions
diff --git a/scripts/all-modules.scm b/scripts/all-modules.scm
index b83644e5..613f9db2 100644
--- a/scripts/all-modules.scm
+++ b/scripts/all-modules.scm
@@ -5,6 +5,7 @@
:use-module (ice-9 match)
:use-module (hnh util path)
:use-module (module-introspection)
+ :use-module ((static-util) :select (get-forms))
:export (all-files-and-modules-under-directory
all-modules-under-directory
fs-find-base fs-find))
diff --git a/scripts/get-config.scm b/scripts/get-config.scm
index 7d6abfcd..2409cfc9 100755
--- a/scripts/get-config.scm
+++ b/scripts/get-config.scm
@@ -20,6 +20,8 @@
(all-modules)
(module-introspection)
+ ((static-util)
+ :select (get-forms))
((calp translation)
:select (translate))
diff --git a/scripts/module-dependants.scm b/scripts/module-dependants.scm
index 87c1f40b..2880446c 100755
--- a/scripts/module-dependants.scm
+++ b/scripts/module-dependants.scm
@@ -25,7 +25,8 @@ exec $GUILE -e main -s "$0" "$@"
(srfi srfi-71)
(ice-9 ftw)
(texinfo string-utils)
- (module-introspection))
+ (module-introspection)
+ ((static-util) :select (get-forms)))
(define cstat (make-object-property))
diff --git a/scripts/module-imports.scm b/scripts/module-imports.scm
index 6a0a5beb..7e9769d1 100755
--- a/scripts/module-imports.scm
+++ b/scripts/module-imports.scm
@@ -17,7 +17,8 @@
(use-modules (hnh util)
((srfi srfi-1) :select (lset-difference))
(rnrs lists)
- (module-introspection))
+ (module-introspection)
+ ((static-util) :select (get-forms)))
;;; Module use high scores
diff --git a/scripts/module-introspection.scm b/scripts/module-introspection.scm
index dc430d8a..ba455cfc 100644
--- a/scripts/module-introspection.scm
+++ b/scripts/module-introspection.scm
@@ -1,38 +1,17 @@
(define-module (module-introspection)
:use-module (srfi srfi-1)
:use-module (hnh util)
- :export (get-forms
- uniq
- unique-symbols
+ :export (unique-symbols
find-module-declaration
module-declaration?
))
-(define (get-forms port)
- (let loop ((done '()))
- (let ((form (read port)))
- (if (eof-object? form)
- done
- (loop (cons form done))))))
-
-
-(define (uniq lst)
- (cond ((null? lst) lst)
- ((null? (cdr lst)) lst)
- ((and (pair? lst)
- (eqv? (car lst) (cadr lst)))
- (uniq (cons (car lst) (cddr lst))))
- (else (cons (car lst)
- (uniq (cdr lst))))))
-
-
(define (unique-symbols tree)
(uniq
(sort* (filter symbol? (flatten tree))
string<? symbol->string)))
-
(define (module-declaration? form)
(cond ((null? form) #f)
((not (pair? form)) #f)
diff --git a/scripts/peg-to-graph.scm b/scripts/peg-to-graph.scm
index 7edcd556..09a36f06 100755
--- a/scripts/peg-to-graph.scm
+++ b/scripts/peg-to-graph.scm
@@ -9,7 +9,8 @@ exec $GUILE -e main -s "$0" "$@"
(use-modules ((graphviz) :prefix #{gv:}#)
- ((module-introspection) :select (get-forms unique-symbols))
+ ((module-introspection) :select (unique-symbols))
+ ((static-util) :select (get-forms))
(srfi srfi-1)
(ice-9 match))
diff --git a/scripts/static-util.scm b/scripts/static-util.scm
new file mode 100644
index 00000000..7aa3626e
--- /dev/null
+++ b/scripts/static-util.scm
@@ -0,0 +1,9 @@
+(define-module (static-util)
+ :export (get-forms))
+
+(define (get-forms port)
+ (let loop ((done '()))
+ (let ((form (read port)))
+ (if (eof-object? form)
+ done
+ (loop (cons form done))))))