Booleans e Nil em Clojure


Em Clojure, booleans e nil são tratados pelo leitor como símbolos especiais que representam tipos de dados fundamentais e lógicos.

  • nil: Representa a ausência de valor ou o valor nulo. É logicamente tratado como “falso”.
  • true e false: Representam os estados da lógica booleana.

NOTE

Qualquer outro valor, além de nil e false, são avaliados logicamente como true.

(if true :truthy :falsey)
;; => :truthy
(if (Object.) :truthy :falsey)
;; => :truthy
(if [] :truthy :falsey)
;; => :truthy
(if 0 :truthy :falsey)
;; => :truthy
(if false :truthy :falsey)
;; => :falsey
(if nil :truthy :falsey)
;; => :falsey

Referências


https://clojure.org/guides/learn/syntax#_symbols_and_idents