summaryrefslogtreecommitdiff
path: root/ss/as.scm
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2025-10-07 15:15:58 +0200
committerEkaitz Zarraga <ekaitz@elenq.tech>2025-10-07 15:15:58 +0200
commita1ed7b9f9954618e2ed4e14dd2dd3215ba7afd7d (patch)
tree5ce01882fb28f786ce6c362cb51d8809d641284c /ss/as.scm
parent656bca99b0b4c7130855cb01b30b944d4dcb4d12 (diff)
API: move `src` to `ss`
Diffstat (limited to 'ss/as.scm')
-rw-r--r--ss/as.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/ss/as.scm b/ss/as.scm
new file mode 100644
index 0000000..6af0ff4
--- /dev/null
+++ b/ss/as.scm
@@ -0,0 +1,16 @@
+(define-module (ss as)
+ #:export (as)
+ #:declarative? #f)
+
+(define (call-in-module thunk module)
+ (let* ((curmod (current-module))
+ (_ (set-current-module (resolve-module module)))
+ (v (thunk))
+ (_ (set-current-module curmod)))
+ v))
+
+(define (load-in-module path module-name)
+ (call-in-module (lambda () (load path)) module-name))
+
+(define (as what file)
+ (load-in-module file `(ss as ,what)))