background preloader

Clojure

Facebook Twitter

Programando em Clojure. Origem: Wikilivros, livros abertos por um mundo aberto.

Programando em Clojure

Prefácio - Sobre este livro e seus autores Introdução - Introduzindo a linguagem de programação Clojure Começando[editar | editar código-fonte] Preparando o ambiente - Instalando o Clojure, Emacs e preparando o ambiente Conceitos-chave - Conceitos-chave de Clojure e programação funcional Tipos de dados[editar | editar código-fonte] Trabalhando com funções[editar | editar código-fonte] Sequências preguiçosas[editar | editar código-fonte] Condicionais[editar | editar código-fonte] Clojure Programming/Examples.

This page is a collection of examples of clojure code.

Clojure Programming/Examples

It's living list, so feel free to contribute. In order to make this as relevant as possible, please observe the following guidelines Create a separate page for your entry. Place it in Clojure_Programming/Examples/Your_Example_NameCreate a one paragraph summary of your example, and place it in this page.Remember to link to your example Thanks for doing your part to help the Clojure community! Using JDBC[edit] JDBC information can be found here. Norvig's Spelling Corrector[edit] Peter Norvig wrote an excellent example of a spelling corrector.

You can see the Clojure example here Simple REPL on a Socket[edit] Accessing a REPL over network is a very useful feature for many situations, from designing a web site to debugging a satellite in space. Programando em Clojure/Conceitos-chave. Origem: Wikilivros, livros abertos por um mundo aberto.

Programando em Clojure/Conceitos-chave

A programação funcional é um paradigma de programação que se centra ao redor do conceito de funções de primeira classe sem efeitos colaterais (as suas variaveis não podem ser alteradas ao decorrer do programa). Na ciência da computação, entidades de primeira classe são entidades que podem ser usados sem restrições em linguagens de programação (em comparação com outras entidades da mesma linguagem). Isso quer dizer que funções podem receber funções como parâmetro e retornar funções como resultados. Um conceito chave de funções no paradigma funcional é que funções não possuem efeito colateral.

Uma função é dita ter efeito colateral se, além de processar valores de entrada e retornar valores de saída, ela altera o estado de um programa (por exemplo, alterando alguma variável global ou escrevendo dados em um disco rígido). A técnica mais amplamente usada na programação funcional como método de solução de problemas é a recursão. Software transactional memory. Performance[edit] The benefit of this optimistic approach is increased concurrency: no thread needs to wait for access to a resource, and different threads can safely and simultaneously modify disjoint parts of a data structure that would normally be protected under the same lock.

Software transactional memory

However, in practice STM systems also suffer a performance hit compared to fine-grained lock-based systems on small numbers of processors (1 to 4 depending on the application). A linguagem de programação Clojure. Este artigo aborda a linguagem de programação Clojure.

A linguagem de programação Clojure

Clojure é um dialeto derivado do Lisp. Não se parte do princípio que você já conheça o Lisp. Ao invés disso, considera-se que você tenha conhecimento da tecnologia Java. Primeiros passos com Clojure – Iniciando com o pé direito « /dev/Kico. Clojure é um tópico que tem ocupado boa parte do meu tempo nos últimos meses.

Primeiros passos com Clojure – Iniciando com o pé direito « /dev/Kico

É a realização de um sonho antigo: ver uma variante do Lisp emplacando no ambiente corporativo. Isto porquê a linguagem é feita para ser executada dentro de uma máquina virtual. Atualmente, há implementações da linguagem tanto para a JVM quanto para a CLR, o que possibilita reaproveitamento total do nosso código legado, além de, é claro, todas as bibliotecas e componentes que amamos e estamos acostumados a trabalhar.

Se você ainda não conhece, Clojure é um dialeto do Lisp criado por Rich Hickey. O significado do seu nome já nos diz alguma coisa: é um trocadilho com closure, referenciando seu caráter funcional. (daqui pra frente vou usar os termos Lisp e Clojure como se fossem a mesma linguagem (sim, eu sei que são diferentes…)) Começando com o pé direito Se você quer começar com o pé direito em Clojure, é preciso ter os seguintes pontos em mente mesmo que em um primeiro momento não os compreenda: Programação Funcional e Concorrente para JVM com Clojure. Proposta Clojure é uma linguagem de programação funcional para JVM que vem crescendo muito em popularidade, apesar de ter sido criada há apenas dois anos.

Programação Funcional e Concorrente para JVM com Clojure

Esta linguagem, que possui muitas semelhanças com Lisp, dá a devida atenção a uma característica cada vez mais presente – e necessária – nos softwares modernos: concorrência. Esta palestra dará aos participantes uma breve introdução à linguagem de programação Clojure, passando por aspectos importantes da Programação Funcional e mostrando como tais aspectos ajudam na solução de problemas corriqueiros de concorrência de uma forma simples e elegante. Palestrante Daniel Martins é graduado em Sistemas de Informação e desenvolve softwares como hobby e profissão desde 2000. URL: destaquenet.comEmail: daniel@destaquenet.comTwitter: @danielfmt.