1
0
forked from alex-eg/sex

modularize sex

Also rename macros to sex-macros, module-system to sex-modules for
clarity, uniformity, and to avoid name clashes with Chicken's
units/modules named "macros" and "modules"
This commit is contained in:
2026-02-17 16:11:56 +03:00
parent f5b3fcb399
commit 196694f18e
33 changed files with 1295 additions and 1133 deletions

View File

@@ -1,12 +1,26 @@
(declare (unit utils))
(include "utils.macros.scm")
(import
scheme
(chicken base)
(chicken pathname)
(chicken process-context)
srfi-1)
(define-syntax prog1
(syntax-rules ()
((prog1 form . forms)
(let ((res form))
(begin . forms)
res))))
(define-syntax with-directory
(syntax-rules ()
((with-directory path form . forms)
(let ((current-dir (current-directory)))
(set-working-directory path)
(prog1
(begin form . forms)
(change-directory current-dir))))))
(define (get-env-var name)
(get-environment-variable name))