Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. (match/match [a b]
  2. [_ true] :first
  3. [true false] :second
  4. [_ false] :third)
  5.  
  6. (try
  7. (cond
  8. (= b true) :first
  9. (= b false) (try
  10. (cond
  11. (= a true) :second
  12. :else (throw match/backtrack))
  13. (catch Exception e__23778__auto__
  14. (if
  15. (identical? e__23778__auto__ match/backtrack)
  16. (do (throw match/backtrack))
  17. (throw e__23778__auto__))))
  18. :else (throw match/backtrack))
  19. (catch Exception e__23778__auto__
  20. (if
  21. (identical? e__23778__auto__ match/backtrack)
  22. (do
  23. (try
  24. (cond
  25. (= b false) :third
  26. :else (throw match/backtrack))
  27. (catch Exception e__23778__auto__
  28. (if
  29. (identical? e__23778__auto__ match/backtrack)
  30. (do
  31. (throw
  32. (java.lang.IllegalArgumentException.
  33. (str "No matching clause: " a " " b))))
  34. (throw e__23778__auto__)))))
  35. (throw e__23778__auto__))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement