ti-enxame.com

Bons exemplos de código Clojure?

Estou no processo de verificar Clojure pela primeira vez. Eu achei útil olhar para (doc xxx) e (fonte xxx) da biblioteca principal do Clojure, mas estou mais preocupado com a forma como você organizaria e montaria um aplicativo completo.

Existem exemplos excelentes e de código aberto disso?

Por exemplo, para aprender a codificar bem em Java, posso olhar para o código-fonte do Spring, ou algo semelhante.

42
lucas1000001

Projetos Clojure de código aberto proeminentes:

  • Compojure - uma estrutura da web (desde que você mencionou o Spring)
  • Ring - API de abstração HTTP
  • Incanter - Ambiente estatístico e computação gráfica do tipo R
  • Leiningen - uma ferramenta de construção para Clojure
  • Clojure-Contrib - você mencionou a biblioteca principal, mas definitivamente vale a pena analisar também o contrib.
  • Enclojure - Clojure IDE (usadas com o Netbeans/Redcar)
  • Anti-horário - Plug-in do Eclipse para Clojure
  • 4Clojure - Site com problemas interativos de preenchimento de espaço em branco

Algumas postagens de blog explicando aplicativos Clojure pequenos:

48
dbyrne

http://corfield.org/blog/archives.cfm/category/clojure

Esse cara está fazendo um blog que, entre outras coisas, tem uma série de artigos sobre "exemplos de clojure no mundo real". Eu acho que esse é um dos melhores lugares para esse tipo de coisa, porque os artigos não fornecem apenas arquivos de origem para você ler, ele geralmente usa problemas práticos específicos, os descreve primeiro, a lógica por trás da escolha de clojure e a lógica por trás de escolher uma maneira específica de fazer as coisas em cada artigo. (E também alguns trechos de código também.) Isso fornece uma visão muito mais eclética dos próprios exemplos e uma melhor compreensão não apenas de O que e Como, mas por quê.

(Você pode rolar um pouco nos arquivos, ele tem muitos artigos sobre clojure que são bons, mas essa postagem é especialmente verdadeira sobre a série "clojure no mundo real" mencionada, que começa com artigos como http://corfield.org/blog/post.cfm/real-world-clojure-email-status-tracking )

3
Cray

Acho que olhar para o project.clj para a maioria desses projetos é um bom primeiro passo para obter uma boa idéia das bibliotecas principais em que esses projetos contam. Principalmente, se uma das bibliotecas de código-fonte aberto mais populares e muito usadas, como a Compojure, por exemplo, estiver usando determinadas bibliotecas de base, como Ring no caso da Compojure, posso focar em como essas bibliotecas de base estão sendo aproveitadas. Foi assim que tive uma boa idéia de como o middleware Ring funciona e que me ajudou a entender que Noir funcionava e também me permitiu entender como alguém poderia substituir algo como Grizzly por Jetty ou como implementar algo como OAuth = 2 usando apenas middleware.

2
Marc