Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (match/match [a b]
- [_ true] :first
- [true false] :second
- [_ false] :third)
- (try
- (cond
- (= b true) :first
- (= b false) (try
- (cond
- (= a true) :second
- :else (throw match/backtrack))
- (catch Exception e__23778__auto__
- (if
- (identical? e__23778__auto__ match/backtrack)
- (do (throw match/backtrack))
- (throw e__23778__auto__))))
- :else (throw match/backtrack))
- (catch Exception e__23778__auto__
- (if
- (identical? e__23778__auto__ match/backtrack)
- (do
- (try
- (cond
- (= b false) :third
- :else (throw match/backtrack))
- (catch Exception e__23778__auto__
- (if
- (identical? e__23778__auto__ match/backtrack)
- (do
- (throw
- (java.lang.IllegalArgumentException.
- (str "No matching clause: " a " " b))))
- (throw e__23778__auto__)))))
- (throw e__23778__auto__))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement