Учебное руководство для [закрытого] ClojureBox

В то время как в uni мы писали систему машинного зрения для анализа поведения человека на основе видеоклипов. Мы использовали Python из-за превосходного PIL, чтобы ускорить разработку и позволить нам получить легкий доступ к фреймам изображения, которые мы извлекли из видео для преобразования в массивы и т.д.

Для 90% того, что мы хотели, это было прекрасно и так как изображения были довольно низким разрешением, скорость не была плоха. Однако несколько процессов потребовали некоторых сложных попиксельных вычислений, а также сверток, которые являются известно медленными. Для этих конкретных областей мы переписали самые внутренние части циклов в C и просто обновили старые функции Python для вызывания функций C.

Это дало нам лучший из обоих миров. У нас была простота доступа к данным, который обеспечивает Python, который включил для разработки быстро, и затем скорость прямолинейного перемещения C для самых интенсивных вычислений.

5
задан Chris Weber 22 October 2009 в 15:34
поделиться

3 ответа

I can provide a partial answer to this. I hope to get up and running better with ClojureBox myself. I am familiar with emacs in general but not emacs with SLIME which is what ClojureBox provides. If you aren't comfortable with emacs itself I would suggest working with its own tutorial first to get the hang of it.

  • How do I create a new clojure file in emacs?

Use standard emacs file creation "C-x C-f" to open a new file. Chose a file name with the extension ".clj" and it will beauto-detected as a clojure file.

  • Load an existing clojure file so the forms (values, functions) are available to the REPL?

Use the load-file command (C-c C-l), note that you will have to have saved the file first (C-x C-s). It will now be available to the REPL.

Alternatively to just try out a block of code, highlight the region containing it and use (C-c C-r) to eval-region with SLIME (which is running your clojure REPL).

  • Does Programming Clojure http: //pragprog.com/titles/shcloj/programming-clojure answer these questions?

Not that I am aware of. It doesn't really deal with development environments.

For help using the book code with ClojureBox see this thread - http://groups.google.com/group/clojure/browse_thread/thread/b52ca7becceca16a

Also try the Clojure google group in general.

6
ответ дан 13 December 2019 в 19:30
поделиться

Если вы хоть немного знакомы с Emacs, clojurebox - это прекрасно. Предоставляет вам все необходимое, чтобы приступить к работе, не сражаясь с вашим файлом .emacs.

Большая часть работы, связанной с файлами, как правило, выполняется с обращением к библиотекам Java, поэтому, если вы выучили язык достаточно хорошо, чтобы понимать использование java ( не сложно), а затем просто покопайтесь в java-документации, чтобы узнать, как это сделать.

Самый главный ответ - да, книга Хэллоуэя ответит, по крайней мере, на большинство ваших вопросов, и по мере изучения языка вы получите больше.

Помимо книги, я бы сказал, что лучший ресурс - это просто потусоваться в IRC (#clojure on freenet), потому что люди, которые там есть, всегда были мне полезны, когда я общался, и охотно отвечают на вопросы. Сюда входят Rich и другие коммитеры clojure core / contrib.

1
ответ дан 13 December 2019 в 19:30
поделиться

Я собрал Clojure Box, но я не знаю, есть ли уроки по Emacs для Clojure, кроме краткого readme, поставляемого с Clojure Box. Будут применяться советы Практического Common Lisp по обходу буферов, REPL и загрузки кода.

Для макета проекта ознакомьтесь с файлом readme из проекта swank-clojure Technomancy на github. Clojure Box не имеет этой функции, но если вы устанавливаете swank-clojure самостоятельно, вы можете следовать стандартным инструкциям по компоновке в разделе «Проект» файла readme.

Вы можете попробовать Enclojure еще раз, поскольку уже был релиз в ноябре из аккаунта на github Эрика Торсена. Также очень полезен скринкаст новых функций из сборки августа 2009 г. ( http://www.vimeo.com/6270957 ).

2
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: