aboutsummaryrefslogtreecommitdiff
path: root/src/lux/util.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/lux/util.clj')
-rw-r--r--src/lux/util.clj11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lux/util.clj b/src/lux/util.clj
index 207a07203..00c0fa6f0 100644
--- a/src/lux/util.clj
+++ b/src/lux/util.clj
@@ -145,10 +145,13 @@
(return* state state)))
(defn sequence-m [m-values]
- (if (empty? m-values)
- (return nil)
- (exec [head (first m-values)]
- (sequence-m (rest monads)))))
+ (match m-values
+ ([head & tail] :seq)
+ (exec [_ head]
+ (sequence-m tail))
+
+ _
+ (return nil)))
(defn ^:private normalize-char [char]
(case char