Применение образца Clojure среднего размера?
есть ли пример приложения Clojure среднего размера, который можно использовать в качестве примера "лучших практик", и хороший способ увидеть, как такое приложение будет выглядеть с точки зрения кода и организации кода? Веб-приложение было бы особенно интересно для меня, но самое главное, что программа делает что-то обычно полезное (блог, отслеживание ошибок, CMS, например), а не что-то математическое, что мне никогда не приходилось реализовывать в реальном мире (решение N-queens задача, имитирующая жизнь, порождает последовательности Фибоначчи, и такая обычная плата за проезд функциональных языков программирования).
спасибо!
14 ответов:
рекомендую корова-блог Брайан Карпер. По словам автора было написано с целью.
Если вы просмотрите clojure-contrib исходный код вы можете увидеть, как библиотеки реализованы в Clojure.
вы также можете оформить "ClojureScript " под тем же исходным деревом.
позволяет код, написанный в очень маленький подмножество Clojure, которое будет автоматически переведено на JavaScript.
в Кложурскриптом переводчик является полноправным приложение на Clojure.
Я бы тоже рекомендовал проверяя Стюарта Хэлоуэя порт практических образцов Common Lisp для Clojure Если вы еще не.
посмотри Compojure. Это веб-фреймворк, написанный в Clojure, поэтому он позволяет писать и запускать (на встроенном причале) полезные веб-приложения в Clojure, а также служит хорошим примером значительного куска реального кода Clojure.
Он находится в активной разработке и имеет полезный Группа Google.
Проверьте демо Муравьев, который написан автором Clojure, Rich Hickey:
http://clojure.googlegroups.com/web/ants.clj
вот несколько хороших инструкций для его настройки вместе с средой разработки emacs:
также проверьте презентацию Рича, которая идет вместе с этим кодом:
Clojure сам по себе является хорошим примером лучших практик Clojure. Читайте в нижней части ядра.клдж, хороший материал.
4Clojure-это open source веб-сайт, где вы можете решить интерактивные проблемы заполнения пустого Clojure.
Я думаю, что Compojure, вероятно, лучший способ пойти на пример. Я сомневаюсь, что это пример" среднего размера", но, вероятно, есть его небольшие подразделы, которые будут работать. По крайней мере, это будет мой подход. улыбается
кроме того, проверьте
http://github.com/technomancy/mire/tree/master
который представляет собой небольшой прототип клиента m.u.d. построенный в clojure, преимущество в том, что он полностью самодостаточный и, вероятно, довольно простой, включая соответствующие концепции. Документация, да, это просто хорошо, но понятия в коде очень тесно связаны с элементами действия M. U. D., которые легко запускаются.
мы уже два года от этого вопроса, и, хотя это все еще рано в цикле для языка, Clojure определенно используется для серьезной производственной работы. В World Singles у нас есть несколько тысяч линий Clojure в производстве, которые обрабатывают всевозможные задачи общего назначения на нашей веб-платформе - я написал об этом в своем блоге реальный мир Clojure серии.
для некоторых достаточно крупных проектов с открытым исходным кодом - не совсем приложения, но громкие инфраструктура-вы можете посмотреть на буря из Twitter и Cascalog от BackType (теперь часть Twitter). 4clojure.com был упомянут как веб-приложение с открытым исходным кодом, это тоже стоит посмотреть, но обратите внимание на новое РЕПО github для 4clojure.
положительный знак: есть статья на InfoQ об " одном из первых опубликованных отчетов о том, что Clojure используется в крупномасштабном производственном развертывании."Он не кажется открытым, но, по крайней мере, это признак того, что Clojure используется в критически важном приложении в реальном производственном мире. Большой шаг для сообщества Clojure.
http://code.google.com/p/lighttexteditor/
вы можете попробовать легкий текстовый редактор
вы можете посмотреть здесь: http://bitbucket.org/kumarshantanu/blogjure/overview/
Это крошечное приложение для блога, написанное с использованием Hibernate, Compojure и StringTemplate, которое действительно работает!
Я могу только рекомендовать вам проверить тумба, очень перспективный веб-фреймворк, как на стороне сервера, так и на стороне клиента (где это облегчает ClojureScript). Материал gui немного трудно понять, но довольно много, как это должно быть сделано, чтобы оставаться в здравом уме в большом приложении.
edge представляет собой приложение среднего размера, демонстрирующее структурирование приложения с помощью Clojure, ClojureScript, Component, Yada, Aero и Boot.