diff options
author | Eduardo Julian | 2015-03-18 08:50:27 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-03-18 08:50:27 -0400 |
commit | 9a037df75e0d06afb5f26b4c4222009bbfc2c9e6 (patch) | |
tree | 49c18c75e56e10430c99532ef49ecf08a109ae75 /src/lux/compiler/case.clj | |
parent | 17c482dcbd49294a8d6e995ab6878445330b216c (diff) |
[2nd Super Refactoring That Breaks The System: Part 4]
- Finished moving the codebase to use the functions from lux.base with the "&" prefix.
Diffstat (limited to 'src/lux/compiler/case.clj')
-rw-r--r-- | src/lux/compiler/case.clj | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lux/compiler/case.clj b/src/lux/compiler/case.clj index 8d9c129c5..6f9fd998a 100644 --- a/src/lux/compiler/case.clj +++ b/src/lux/compiler/case.clj @@ -3,10 +3,7 @@ [template :refer [do-template]]) [clojure.core.match :as M :refer [match matchv]] clojure.core.match.array - (lux [base :as & :refer [exec return* return fail fail* - repeat-m exhaust-m try-m try-all-m map-m reduce-m - apply-m - normalize-ident]] + (lux [base :as & :refer [exec return* return fail fail*]] [type :as &type] [lexer :as &lexer] [parser :as &parser] @@ -40,11 +37,11 @@ [register (&/V "Pattern" (&/T $body [&/V "TextMatch" ?value]))] [["Tuple" ?members]] - (let [[register* =members] (reduce (fn [[register =members] member] + (let [[register* =members] (&/fold (fn [[register =members] member] (let [[register* =member] (->match $body register member)] [register* (cons =member =members)])) [register (list)] - (&/->seq ?members))] + ?members)] [register* (&/V "Pattern" (&/T $body [&/V "TupleMatch" (reverse =members)]))]) [["Tag" ?tag]] @@ -182,7 +179,7 @@ (.visitInsn Opcodes/DUP) (.visitMethodInsn Opcodes/INVOKESPECIAL ex-class "<init>" "()V") (.visitInsn Opcodes/ATHROW)) - (map-m (fn [[?label ?body]] + (&/map% (fn [[?label ?body]] (exec [:let [_ (.visitLabel writer ?label)] ret (compile ?body) :let [_ (.visitJumpInsn writer Opcodes/GOTO $end)]] |