Je suis nouveau sur Clojure, et je commence à expérimenter avec la construction d'une application.
Jusqu'à présent, tout ce que j'ai vu sur des tutoriels sur la compilation de Clojure programmes implique l'interactivité. Par exemple, "charger le REPL et le type (load-file "ceci-ou-que") pour fonctionner. Ce qui est bien, mais ça ne suffit pas.
Je suis tellement habituée à l'édition-compilation-exécution des idiomes de langages tels que le C ou Delphi, que je suis instinctivement conduits à faire des modifications, puis appuyez sur "M-x compile".
Le problème est que "lein uberjar", je crois comprendre que c'est l'équivalent de "faire", est très lente à exécuter, même pour un hello world. Donc je vais avoir à comprendre comment ce "développement interactif" substance fonctionne, arrêtez d'utiliser le uberjar comme c'est rapide à faire, et l'enregistrer uniquement pour la fin de la journée.
Une autre chose que j'ai remarqué lors de la construction (à l'aide de lein uberjar), c'est que le petit GUI application que je suis en train de travailler sur les pop-up cadres dans le processus de compilation, comme si ils sont d'exécution lors de la compilation. Il semble un peu contre-intuitif pour moi; il n'est pas tout à fait comme analogue à "faire" comme je l'avais pensé.
Je sais que le Lisp façon de développer des choses est de manière interactive de travail dans le REPL, et je ne suis pas en train de changer cela: je voudrais adapter à ce mode de vie. Malheureusement, j'ai vu très peu dans la forme de la documentation sur la façon de le faire. Par exemple, comment faire pour réinitialiser l'état actuel de la machine. Il semble tout genre bordélique pour garder juste la compilation individu extraits de code à la volée, sans être en mesure de faire une sorte de reset.
La plupart des tutos que j'ai vu sur Clojure (et Lisp) en général semblent se concentrer sur le piratage dans le REPL. Les meilleures pratiques pour le déploiement des applications reste un mystère pour moi. Mes utilisateurs sont simplement des utilisateurs; ils ne sont pas les développeurs qui vont charger des fichiers dans un REPL.
Voici donc ma question: toutes les ressources pour la bonne information ou de tutoriels sur l'ensemble du processus de construction d'une Clojure application, y compris le déploiement?
(Note: j'ai toutes les conditions requises installé et de travail (par exemple Emacs, Slime, Leiningen, etc.), ce n'est donc pas une question à ce sujet).