是否有中型 Clojure 示例应用程序可用?

问题描述 投票:0回答:14

是否有一个中型 Clojure 示例应用程序可以用作“最佳实践”示例,并且可以很好地了解此类应用程序在代码和代码组织方面的外观?

Web 应用程序对我来说特别有趣,但最重要的是该程序执行一些常用的有用操作(例如博客、错误跟踪、CMS),而不是我从未在应用程序中实现过的数学操作。现实世界(解决 N 皇后问题、模拟生活、生成斐波那契数列,以及函数编程语言的常见功能)。

functional-programming clojure
14个回答
42
投票

我推荐 Brian Carper 的 cow-blog。据作者称,这是出于您的目的而写的。


19
投票

如果您浏览 clojure-contrib 源代码,您可以看到库是如何在 clojure 中实现的。

您还可以在同一源代码树下查看“ClojureScript”。

允许用非常小的代码编写 Clojure 的子集将自动翻译为 JavaScript。

ClojureScript 翻译器是一个完整的 Clojure 应用程序。

我还建议您查看 Stewart Halloway 的 Clojure 的实用 Common Lisp 示例端口(如果您还没有这样做的话)。


15
投票

看看 Compojure。它是一个用 Clojure 编写的 Web 框架,因此它允许您在 Clojure 中编写和运行(在嵌入式 Jetty 上)有用的 Web 应用程序,并且还可以作为大量现实 Clojure 代码的一个很好的示例。

它正在积极开发中,并且有一个很有帮助的 Google Group


10
投票

查看由 Clojure 作者 Rich Hickey 编写的 ant 演示:

http://clojure.googlegroups.com/web/ants.clj

这里有一些关于如何设置它以及 emacs 开发环境的很好的说明:

http://riddell.us/clojure

另请查看 Rich 的演示文稿以及此代码:

http://blip.tv/file/812787


7
投票

Clojure 本身就是 Clojure 最佳实践的一个很好的例子。阅读 Core.clj 的底部,好东西。


6
投票

http://4clojure.com

4Clojure 是一个开源网站,您可以在其中解决交互式 Clojure 填空问题。


5
投票

我认为 Compojure 可能是最好的例子。我怀疑这是一个“中等大小”的例子,但它可能有一些小的部分可以工作。至少,这将是我的方法。 微笑

另外,请检查一下

http://github.com/technomancy/mire/tree/master

这是一个小泥浆。用 clojure 构建的客户端原型,优点是它完全独立,而且可能非常简单,包括所涉及的概念。文档,呃,没关系,但是代码中的概念与 M.U.D 的动作元素紧密相关。运行起来很容易。


5
投票

距离这个问题已经过去两年了,虽然对于语言来说还处于早期阶段,但 Clojure 肯定会用于严肃的生产工作。在 World Singles,我们有数千行 Clojure 正在生产中,用于处理我们网络平台中的各种通用任务 - 我在我的真实世界 Clojure 系列中对此进行了博客讨论。

对于一些相当大的开源项目 - 不完全是应用程序,而是引人注目的基础设施 - 您可以查看 Twitter 的 Storm 和 BackType 的 Cascalog (现在是 Twitter 的一部分)。 4clojure.com 已被提及为开源 Web 应用程序,也值得一看,但请注意 4clojure 的新 github 存储库


3
投票

一个积极的信号:InfoQ 上有一篇文章,内容是“第一个发布的关于 Clojure 用于大规模生产部署的报告之一”。它看起来并不开放,但至少它是 Clojure 被用于现实生产世界中的关键任务应用程序的标志。 Clojure 社区的一大进步。


2
投票

http://code.google.com/p/lighttexteditor/

您可以尝试轻量级文本编辑器


1
投票

您可以在这里查看:http://bitbucket.org/kumarshantanu/blogjure/overview/

这是一个使用 Hibernate、Compojure 和 StringTemplate 编写的小型博客应用程序,确实有效!


1
投票

我只能推荐你看看 Pedestal,一个非常有前途的 Web 框架,无论是服务器端还是客户端(它有利于 ClojureScript)。 GUI 的东西有点难以掌握,但在大型应用程序中保持理智应该这样做。


1
投票

edge 是一个中等大小的应用程序,展示了使用 Clojure、ClojureScript、Component、Yada、Aero 和 Boot 构建应用程序。


0
投票

Clojure 还太年轻,而且是一个不断变化的目标,无法拥有具有可用源代码的中型应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.