2009-10-22 17 views
5

Estoy tratando de aprender clojure. ClojureBox parece ser similar a LispBox - http: //gigamonkeys.com/lispbox/ que he usado anteriormente.Tutorial para ClojureBox

Estoy buscando un buen tutorial específico de clojure sobre el uso de emacs, ya que está configurado con clojurebox.

Estas son algunas de las preguntas específicas que tengo:

  • ¿Cómo se crea un nuevo archivo clojure en emacs y
  • carga un archivo clojure existente por lo que las formas (valores, funciones) están disponibles para el REPL
  • ¿Qué es una buena estructura de proyecto? Si tengo más de un archivo, ¿cuál es la mejor manera de proceder y
  • ¿Programación Clojure http: //pragprog.com/titles/shcloj/programming-clojure responde estas preguntas?
  • ¿Hay un entorno mejor que clojurebox? He intentado enclojure for netbeans y actualmente está roto (no creará un proyecto correctamente). Netbeans 6.7.1 y enclojure 2009-08-25-release.
+0

Estoy viendo esto desde el uso de emacs con clojure, NO clojure el idioma. –

Respuesta

6

Puedo proporcionar una respuesta parcial a esto. Espero ponerme en marcha y correr mejor con ClojureBox. Estoy familiarizado con emacs en general, pero no con emacs con SLIME, que es lo que proporciona ClojureBox. Si no se siente cómodo con emacs, le sugiero que primero trabaje con su propio tutorial para familiarizarse con él.

  • ¿Cómo se crea un nuevo archivo en emacs clojure?

uso emacs estándar de creación del archivo "C-x C-f" para abrir un nuevo archivo. Elija un nombre de archivo con la extensión ".clj" y se detectará automáticamente como un archivo clojure.

  • carga un archivo existente, de modo clojure las formas (valores, funciones) están disponibles para el REPL?

Utilice el comando de carga de archivo (C-C-C l), tenga en cuenta que tendrá que haber guardado el archivo en primer lugar (C-x C-s). Ahora estará disponible para REPL.

Como alternativa, para probar un bloque de código, resalte la región que lo contiene y use (C-c C-r) para evaluar-región con SLIME (que está ejecutando su clojure REPL).

  • ¿El programación Clojure http: //pragprog.com/titles/shcloj/programming-clojure responder a estas preguntas?

No es que yo sepa. Realmente no trata con entornos de desarrollo.

Para obtener ayuda utilizando el código de libro con ClojureBox ver este hilo - http://groups.google.com/group/clojure/browse_thread/thread/b52ca7becceca16a

prueba también el grupo de Clojure Google en general.

1

Si está familiarizado con Emacs, clojurebox es excelente. Te prepara con todo lo necesario para comenzar a ejecutar sin luchar con tu archivo .emacs.

La mayoría del trabajo relacionado con archivos suele hacerse llamando a las bibliotecas de Java, así que si aprendió el idioma lo suficiente como para entender el uso de java (no duro), busque los documentos en java para saber cómo hacerlo.

Aunque la respuesta más importante es afirmativa, el libro de Halloway responde al menos la mayoría de tus preguntas, y más cuando aprendas el idioma.

Aparte del libro, diría que el mejor recurso es simplemente pasar el rato en el IRC (#clojure en Freenet) porque las personas allí siempre han sido útiles en cualquier momento que he pasado el rato, y estoy dispuesta a responder preguntas Esto incluye Rich y otros committers de núcleo/contrib clojure.

2

He creado Clojure Box, pero no sé si un tutorial de Emacs específico de Clojure aparte del breve archivo que viene con Clojure Box. Se aplicarán las sugerencias de Practical Common Lisp para búferes de desplazamiento y REPL y el código de carga.

Para la disposición del proyecto, consulte el archivo Léame del proyecto swank-clojure de technomancy en github. Clojure Box no tiene esta función, pero si instala swank-clojure por su cuenta, puede seguir las instrucciones de diseño estándar en la sección Proyecto del archivo léame.

Es posible que desee probar Enclojure nuevamente ya que hubo un lanzamiento en noviembre de la cuenta github de Eric Thorsen. El screencast de las nuevas características de la compilación de agosto de 2009 (http://www.vimeo.com/6270957) también es muy útil.