the third example describing myseq may be incorrect. I think we have to use vectors for comparing list of compile time constants.
(let [myseq [1 2]]
(case myseq
[] "empty seq"
[1 2] "my seq"
"default"))
The parenthesized test conditions are used when multiple test conditions give the same output (output expression). In my case , since both [true, true] and [false, false] return true, i have put them within parenthesis.
(defn equ
[a b]
(case [a b]
([true true] [false false]) true
true))
(equ true true) ;; returns true
(equ false false) ;; returns true
(equ false true) ;; return false
(equ true false) ;; returns false