Commencer avec clojure

Installation et configuration

## Option 1 : [Leiningen]

Nécessite JDK 6 ou plus récent.

Le moyen le plus simple de démarrer avec Clojure est de télécharger et d’installer Leiningen, l’outil standard de facto pour gérer les projets Clojure, puis d’exécuter lein repl pour ouvrir un [REPL].

###Linux

curl https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein > ~/bin/lein
export PATH=$PATH:~/bin
chmod 755 ~/bin/lein

### OS X

Suivez les étapes Linux ci-dessus ou installez avec les gestionnaires de packages macOS.

Installer avec [Homebrew]

brew install leiningen

Installer avec [MacPorts]

Installez d’abord Clojure

sudo port -R install clojure

Installez Leiningen, un outil de construction pour Clojure

sudo port -R install leiningen
lein self-install

Les fenêtres

Voir la documentation officielle.

Option 2 : Distribution officielle

Nécessite JRE 6 ou plus récent.

Les versions de Clojure sont publiées sous forme de simples fichiers [JAR] à exécuter sur la JVM. C’est ce qui se passe généralement dans les outils de construction de Clojure.

  1. Allez sur http://clojure.org et téléchargez la dernière archive Clojure
  2. Extrayez le fichier [ZIP] téléchargé dans un répertoire de votre choix
  3. Exécutez java -cp clojure-1.8.0.jar clojure.main dans ce répertoire

Vous devrez peut-être remplacer le clojure-1.8.0.jar dans cette commande par le nom du fichier JAR que vous avez réellement téléchargé.

Pour une meilleure expérience REPL en ligne de commande (par exemple, parcourir vos commandes précédentes), vous pouvez installer [rlwrap][rlwrap] : rlwrap java -cp clojure-1.8.0.jar clojure.main

Option 3 : [Démarrer]

Nécessite JDK 7 ou plus récent.

Boot est un outil de construction Clojure polyvalent. Le comprendre nécessite une certaine connaissance de Clojure, ce n’est donc peut-être pas la meilleure option pour les débutants. Voir [le site Web] [démarrer] (cliquez sur Commencer ici) pour les instructions d’installation.

Une fois installé et dans votre PATH, vous pouvez exécuter boot repl n’importe où pour démarrer un Clojure REPL.

[démarrage] : http://boot-clj.com/ [homebrew] : https://github.com/Homebrew [jar] : https://en.wikipedia.org/wiki/JAR_(file_format) [leiningen] : http://leiningen.org/ [zip] : https://en.wikipedia.org/wiki/Zip_(file_format) [rlwrap] : https://github.com/hanslub42/rlwrap [REPL] : https://en.wikipedia.org/wiki/Read–eval–print_loop [Macports] : https://www.macports.org/

“Bonjour le monde!” dans le REPL

La communauté Clojure met l’accent sur le développement interactif, donc beaucoup d’interactions avec Clojure se produisent dans un [REPL (read-eval-print-loop)][repl]. Lorsque vous y saisissez une expression, Clojure la lit, l’évalue et imprime le résultat de l’évaluation, le tout dans une boucle.

Vous devriez être en mesure de lancer un Clojure REPL maintenant. Si vous ne savez pas comment procéder, suivez la section Installation et configuration de cette rubrique. Une fois que vous l’avez lancé, tapez ce qui suit :

(println "Hello, world!")

Appuyez ensuite sur Entrée. Cela devrait afficher Hello, world!, suivi de la valeur de retour de cette expression, nil.

Si vous souhaitez exécuter du clojure instantanément, essayez REPL en ligne. Par exemple http://www.tryclj.com/.

[repl] : https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop

“Bonjour le monde!” en utilisant le démarrage

Remarque : vous devez installer Boot avant d’essayer cet exemple. Consultez la section Installation et configuration si vous ne l’avez pas encore installé.

Boot permet de créer des fichiers exécutables Clojure en utilisant la ligne [shebang][1] (#!). Placez le texte suivant dans un fichier de votre choix (cet exemple suppose qu’il se trouve dans le “répertoire de travail actuel” et s’appelle hello.clj).

#!/usr/bin/env boot

(defn -main [& args]
  (println "Hello, world!"))

Marquez-le ensuite comme exécutable (le cas échéant, généralement en exécutant chmod +x hello.clj). …et exécutez-le (./hello.clj).

Le programme doit afficher “Hello, world!” et fini.

[1] : https://en.wikipedia.org/wiki/Shebang_(Unix)

Créer une nouvelle application

Après avoir suivi les instructions ci-dessus et installé Leiningen, démarrez un nouveau projet en exécutant :

lein new <project-name>

Cela configurera un projet Clojure avec le modèle Leiningen par défaut dans le dossier <project-name>. Il existe plusieurs modèles pour Leiningen, qui affectent la structure du projet. Le plus souvent, c’est le modèle “app” utilisé, qui ajoute une fonction principale et prépare le projet à être compressé dans un fichier jar (dont la fonction principale est le point d’entrée de l’application). Ceci peut être réalisé avec ceci en exécutant:

lein new app <project-name> 

En supposant que vous ayez utilisé le modèle d’application pour créer une nouvelle application, vous pouvez tester que tout a été correctement configuré en entrant dans le répertoire créé et en exécutant l’application à l’aide de :

lein run

Si vous voyez “Hello, World!” sur votre console, vous êtes prêt à commencer à créer votre application.

Vous pouvez regrouper cette application simple dans deux fichiers jar avec la commande suivante :

lein uberjar

Créer une nouvelle application (avec démarrage)

boot -d seancorfield/boot-new new -t app -n <appname>

Cette commande indiquera au démarrage de récupérer la tâche “boot-new” sur https://github.com/seancorfield/boot-new et d’exécuter la tâche avec le modèle “app” (voir le lien pour les autres modèles). La tâche créera un nouveau répertoire appelé <appname> avec une structure d’application Clojure typique. Voir le fichier README généré pour plus d’informations.

Pour lancer l’application : boot run. D’autres commandes sont spécifiées dans build.boot et décrites dans le README.