The document is a transcript of a discussion in Clojure about the Clojure programming language. It touches on topics like Lisp history and concepts, Clojure's relationship to Lisp, Clojure's data structures like lists, sets and maps, and functional programming concepts in Clojure like map and filter.
42. user> (doc and)
-------------------------
clojure.core/and
([] [x] [x & next])
Macro
Evaluates exprs one at a time, from left to right. If a form
returns logical false (nil or false), and returns that value and
doesn't evaluate any of the other expressions, otherwise it returns
the value of the last expr. (and) returns true.
nil
user> (source and)
(defmacro and
"Evaluates exprs one at a time, from left to right. If a form
returns logical false (nil or false), and returns that value and
doesn't evaluate any of the other expressions, otherwise it returns
the value of the last expr. (and) returns true."
{:added "1.0"}
([] true)
([x] x)
([x & next]
`(let [and# ~x]
(if and# (and ~@next) and#))))
nil
Saturday, November 3, 12
64. user> (guess-number secret-num)
Enter a guess between 1 and 10: 1
#{1}
user> (guess-number secret-num)
Enter a guess between 1 and 10: 2
#{1 2}
user> (guess-number secret-num)
Enter a guess between 1 and 10: 3
#{1 2 3}
...
user> (guess-number secret-num)
Enter a guess between 1 and 10: 7
#{1 2 3 4 5 6 7}
user> (guess-number secret-num)
Enter a guess between 1 and 10: 8
#{1 2 3 4 5 6 7 8}
user> (guess-number secret-num)
Enter a guess between 1 and 10: 9
You guessed correctly
Saturday, November 3, 12