aboutsummaryrefslogtreecommitdiff
path: root/module/hnh/module-introspection.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/hnh/module-introspection.scm')
-rw-r--r--module/hnh/module-introspection.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/module/hnh/module-introspection.scm b/module/hnh/module-introspection.scm
index 83e561f1..254c33c7 100644
--- a/module/hnh/module-introspection.scm
+++ b/module/hnh/module-introspection.scm
@@ -4,6 +4,7 @@
:export (unique-symbols
find-module-declaration
module-declaration?
+ get-forms
))
@@ -20,3 +21,10 @@
(define (find-module-declaration forms)
(and=> (find module-declaration? forms)
cadr))
+
+(define (get-forms port)
+ (let loop ((done '()))
+ (let ((form (read port)))
+ (if (eof-object? form)
+ done
+ (loop (cons form done))))))