diff options
Diffstat (limited to '')
-rw-r--r-- | module/hnh/module-introspection.scm | 8 |
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)))))) |