web-dev-qa-db-fra.com

De bons exemples de code Clojure?

Je suis en train de vérifier Clojure pour la première fois. Je l'ai trouvé utile en regardant les (doc xxx) et (source xxx) de la bibliothèque principale de Clojure, mais je suis plus préoccupé par la façon dont vous organiseriez et assembleriez une application complète.

Existe-t-il d'excellents exemples open source de cela?

Par exemple, pour apprendre à bien coder en Java je pourrais regarder le code source de Spring, ou quelque chose de similaire.

42
lucas1000001

Projets Clojure open source de premier plan:

  • Compojure - un framework web (puisque vous avez mentionné Spring)
  • Ring - API d'abstraction HTTP
  • Incanter - Environnement de calcul statistique et graphique de type R
  • Leiningen - un outil de construction pour Clojure
  • Clojure-Contrib - vous avez mentionné la bibliothèque principale, mais contrib vaut certainement la peine d'être étudiée également.
  • Enclojure - Clojure IDE (utilisé avec Netbeans/Redcar)
  • Antihoraire - Plugin Eclipse pour Clojure
  • 4Clojure - Site Web avec des problèmes interactifs de Clojure à remplir

Quelques articles de blog expliquant les applications Clojure de la taille d'une bouchée:

48
dbyrne

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

Ce gars fait un blog qui, entre autres, a une série d'articles sur "des exemples de clojure du monde réel". Je pense que c'est l'un des meilleurs endroits pour ce genre de chose, car les articles ne fournissent pas simplement des fichiers source à lire, il a souvent abordé des problèmes pratiques spécifiques, les décrit d'abord, la justification du choix de clojure et la justification derrière le choix d'une façon spécifique de faire les choses dans chaque article. (Et puis quelques extraits de code également.) Cela donne une vue beaucoup plus éclectique sur les exemples eux-mêmes, et une meilleure compréhension non seulement de quoi et comment, mais pourquoi.

(Vous voudrez peut-être faire défiler un peu les archives, il a beaucoup d'articles de clojure qui sont bons eux-mêmes, mais ce post est particulièrement vrai à propos de la série mentionnée "clojure du monde réel", qui commence par des articles comme http://corfield.org/blog/post.cfm/real-world-clojure-email-status-tracking )

3
Cray

Je trouve que regarder le project.clj pour la plupart de ces projets est une bonne première étape pour avoir une bonne idée des bibliothèques de base sur lesquelles ces projets s'appuient. Généralement, si l'une des bibliothèques open source les plus populaires et les plus utilisées, comme Compojure par exemple, utilise certaines bibliothèques de base, comme Ring dans le cas de Compojure, je peux alors me concentrer sur la façon dont ces bibliothèques de base sont exploitées. C'est ainsi que j'ai eu une bonne idée du fonctionnement du middleware Ring et cela m'a aidé à comprendre que Noir fonctionnait et m'a également permis de comprendre comment on pouvait substituer quelque chose comme Grizzly à Jetty ou comment implémenter quelque chose comme OAuth = 2 en utilisant uniquement un middleware.

2
Marc