Add macro to simplify task context references

This commit is contained in:
Ray Miller 2025-01-08 09:13:19 +00:00
parent b4cdfc341a
commit 5360e73d60
Signed by: ray
GPG key ID: 043F786C4CD681B8
4 changed files with 54 additions and 44 deletions

View file

@ -11,7 +11,8 @@
get-context-triggers
context-triggered?
register-context-var!
context-ref))
context-ref
bind-context-vars))
(define-record-type <context>
(make-context connection vars scratch-dir)
@ -37,3 +38,10 @@
(define (register-context-var! ctx var-name val)
(set-context-vars! ctx (assoc-set! (context-vars ctx) var-name val)))
(define-syntax bind-context-vars
(syntax-rules ()
((bind-context-vars (var-name ...) proc)
(lambda (ctx)
(let ((var-name (context-ref ctx (quote var-name))) ...)
(proc ctx))))))