(with_import "./match.kp" (do (println "first " (match 1 1 true a (+ a 1) )) (println "second " (match 3 1 true a (+ a 1) )) (println "third " (match "str" 1 true "str" "It was a string!" a (+ a 1) )) (println "fourth " (match [ 1337 "str" ] 1 true "str" "It was a string!" [ 1337 "str" ] "matched an array of int str" a (+ a 1) )) (println "fifth " (match [ 1337 "str" 'sy ] 1 true "str" "It was a string!" [ 1337 "str" 'sy ] "matched an array of int str symbol" a (+ a 1) )) (println "sixth " (match [ 1337 "str" 'walla + 11 false 'kraken [ 'inner 'middle 'end ] [ 'inner1 'middle1 'end1 ] ] 1 true "str" "It was a string!" [ 1337 "str" 'walla + a false b [ 'inner c 'end ] d ] (str "matched, and got " a b c d) a (+ a 1) )) (println "seventh " (let (b 2) (match [ 1337 [ 1 2 3] 11 ] 1 true "str" "It was a string!" [ 1337 [ a ~b c] 11 ] (str "matched, and got " a c " while checking based on inserted " b) a "sigh, failed to match" ))) ))