Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
O que Clojure?
Introduo
Executada na JVM
Introduo
Rich Hickey
Introduo
Histrico
Histrico
Histrico
Caractersticas
Linguagem hospedeira
Caractersticas
Caractersticas
Linguagem funcional
Caractersticas
Programao concorrente
Principais comandos
def
Usado para denio de variveis. Ex.:
(def n 5) dene a varivel n com o valor 5
defn
Usado para denio de funes. Ex.:
(defn media [x y] (/ (+ x y) 2))
Principais comandos
if
Estrutura de condio. Ex.:
(if (= denominador 0)
expresso
Denominador invlido se verdadeira
(/ 1 denominador))
se falsa
Principais comandos
loop e recur
Estrutura de repetio. Ex.:
(def fatorial
(fn [n]
(loop [cnt n acc 1]
(if (= cnt 1)
acc
(recur (dec cnt) (* acc cnt))))))
Exemplos de programas
(def somatorio
(fn [lista]
(loop [ns lista acc 0]
(if (empty? ns)
acc
(recur (rest ns) (+ acc (rst ns)))))))
Exemplos de programas
(def bonacci
(fn [n]
(loop [num n acc [1 0] ]
(if (= num 2)
acc
(recur (dec num)
(concat (+ (rst acc)
(rst (rest acc))) acc))))))
Exemplos de programas
https://clojure.org/index
http://dev.clojure.org/display/community/Home
https://en.wikipedia.org/wiki/Clojure
http://www.braveclojure.com/introduction/
https://mauricioszabo.wordpress.
com/2016/04/19/clojure-gentilmente/
http://clojure.org/reference/