(def text "true")
; the first way — the Java parser: everything but "true" turns into false
(def bool-value (Boolean/parseBoolean text))
; bool-value is true
(def not-a-bool (Boolean/parseBoolean "yes"))
; not-a-bool is false
; the second way — the reader reads the literal
(def read-value (read-string "false"))
; read-value is false
; a trap: the string "false" is still a value, and every string is true
(def trap (boolean "false"))
; trap is true
(println "bool-value is" bool-value)
(println "not-a-bool is" not-a-bool)
(println "read-value is" read-value)
(println "trap is" trap)