Clojure

1022 palavras 5 páginas
Clojure

Helder Costa
Renan Henker

Introdução






Linguagem criada em 2007, por Rich Hickey.
Demorou cerca de 2 anos e meio para publicá-la e a maior parte desse tempo sem financiamento. Linguagem de Propósito geral, propícia à
Sistemas Concorrentes - Software Transactional Memory .


Linguagem de script.



Infraestrutura à programação multithread.



Estruturas de dados persistentes.

Introdução



Um novo Lisp.




Paradigma Funcional.

Linguagem Compilada, gerando o bytecode a ser interpretado:


JVM (Interpretador de Java)



CLR (Interpretador de .NET)



JavaScript Engine (Interpretador JavaScript)



ActionScript VM (Plataforma do Adobe Flash Player)

Tipos de Dados



Possui tipagem dinâmica.



A maioria dos tipos são imutáveis.



Assim como Java, tudo em Clojure é um
Objeto.

Tipos de Dados



Números


Long




Ratio (Relação)




(type, 7/2) retorna clojure.lang.Ratio

BigInt




(type, 5) retorna java.lang.Long

(type, 40000000000000) retorna clojure.lang.BigInt

Double


(type, 4.4444) retorna java.lang.Double

Tipos de Dados



Strings




Caracter




(type, \s) retorna java.lang.Character

Booleano




(type, “maria”) retorna java.lang.String

(type, true) retorna java.lang.Boolean

Nulo


É representado pela palavra 'nil'

Tipos de Dados



Coleções


Listas





Vetores




Uma lista é declarada entre parênteses.
(list 10 20 30)
(10 20 30)
(type , [“maria” 53 \s]) retorna clojure.lang.PersistentVector

Tabelas Hash



Chave → Valor
(type, {\a 10 \b 20}) retorna clojure.lang.ArrayMap

Tipos de Dados



StructMaps


Variação da tabela hash.



Pode ser declarado de duas maneiras:


(def notas (create-struct :prova1 :prova2 :trabalho))





(struct-map notas :prova1 3 :prova2 9 :trabalho 10) ou
(struct

Relacionados

  • Linguagem Clojure
    1182 palavras | 5 páginas
  • questoes neo4j
    284 palavras | 2 páginas
  • Teste
    299 palavras | 2 páginas
  • Exercício de haskell
    354 palavras | 2 páginas
  • Linguagens funcionais
    379 palavras | 2 páginas
  • Desenvolvedor
    520 palavras | 3 páginas
  • Cloud
    653 palavras | 3 páginas
  • Eclipse (compilador)
    497 palavras | 2 páginas
  • Processos de software : convencionais e heavyweight + ide intellij-idea + tdd
    1093 palavras | 5 páginas
  • paradigmas e multimidia
    660 palavras | 3 páginas