aboutsummaryrefslogtreecommitdiff
path: root/module/util.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-10-03 22:02:03 +0200
committerHugo Hörnquist <hugo@hornquist.se>2019-10-03 22:02:03 +0200
commit785f70a3d16e549e36b8ef17f081829fe492a193 (patch)
treef1142270470fc0cd483c3a227ef8b62c7a6a4bea /module/util.scm
parentSlowly going through and fixing everything. (diff)
downloadcalp-785f70a3d16e549e36b8ef17f081829fe492a193.tar.gz
calp-785f70a3d16e549e36b8ef17f081829fe492a193.tar.xz
Locate bug with DTEND.
Diffstat (limited to 'module/util.scm')
-rw-r--r--module/util.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/module/util.scm b/module/util.scm
index 89f6dab6..6aadbc79 100644
--- a/module/util.scm
+++ b/module/util.scm
@@ -11,7 +11,7 @@
quote?
re-export-modules
use-modules*
- -> set
+ -> set aif
tree-map let-lazy)
#:replace (let* set! define-syntax
when unless if))
@@ -44,6 +44,13 @@
((@ (guile) if) p t
(begin f ...))]))
+(define-syntax aif
+ (lambda (stx)
+ (syntax-case stx ()
+ [(_ condition true-clause false-clause)
+ (with-syntax ((it (datum->syntax stx 'it)))
+ #'(let ((it condition))
+ (if it true-clause false-clause)))])))
(define-public upstring->symbol (compose string->symbol string-upcase))