好的Clojure代码示例?

时间:2010-09-02 16:05:22

标签: clojure

我正在第一次检查Clojure。我发现查看Clojure核心库的(doc xxx)和(source xxx)非常有用,但我更关心的是如何组织和整理完整的应用程序。

是否有任何优秀的开源示例?

例如,要学习如何在Java中编写代码,我可能会看一下Spring源代码或类似内容。

3 个答案:

答案 0 :(得分:47)

着名的开源Clojure项目:

  • Compojure - 一个Web框架(因为你提到了Spring)
  • Ring - HTTP抽象API
  • Incanter - 类似R的统计计算和图形环境
  • Leiningen - Clojure的构建工具
  • Clojure-Contrib - 您提到了核心库,但贡献也绝对值得关注。
  • Enclojure - Clojure IDE工具(与Netbeans / Redcar一起使用)
  • Counterclockwise - Clojure的Eclipse插件
  • 4Clojure - 具有交互式填空问题的网站

一些博客文章解释了一口大小的Clojure应用程序:

答案 1 :(得分:3)

http://corfield.org/blog/archives.cfm/category/clojure

这家伙正在做一个博客,其中有一篇关于“真实世界的咒语例子”的文章系列。 我认为这是这类事情最好的地方之一,因为文章并不是简单地提供源文件供你阅读,他经常考虑具体的实际问题,首先描述它们,选择clojure背后的理由,以及理由在每篇文章中选择一种特定的做事方式。 (然后还有一些代码摘录。)这样可以对示例本身提供更多折衷主义的观点,更好地理解不仅仅是什么,如何,而是为什么。

(你可能想要在档案中向下滚动一下,他有很多自己很好的clojure文章,但这篇文章特别适用于所提到的“真实世界的clojure”系列,它以{{{{{ {3}})

答案 2 :(得分:2)

我发现在大多数项目中查看project.clj是很好地了解这些项目所依赖的核心库的第一步。大多数情况下,如果一个比较流行和使用频繁的开源库(例如Compojure)使用某些基本库,比如Compojure中的Ring,我就可以专注于如何利用这些基本库。这就是我如何理解Ring中间件如何工作的原因,这有助于我理解Noir工作并让我也能理解如何用Grizzly代替Jetty或者如何使用中间件来实现OAuth 2之类的东西。