diff options
Diffstat (limited to 'src/lux/util.clj')
-rw-r--r-- | src/lux/util.clj | 11 |
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 |