Clojure

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(指南)
(Leiningen)
第26行: 第26行:
 
cd bin,执行 ./lein // 开始安装 Leiningen
 
cd bin,执行 ./lein // 开始安装 Leiningen
  
Leiningen is a tool for working with Clojure projects.
+
lein help
  
Several tasks are available:
+
lein help $TASK for details.
check              Check syntax and warn on reflection.
+
classpath          Write the classpath of the current project to output-file.
+
clean              Remove all files from project's target-path.
+
compile            Compile Clojure source into .class files.
+
deploy              Build jar and deploy to remote repository.
+
deps                Show details about dependencies.
+
do                  Higher-order task to perform other tasks in succession.
+
help                Display a list of tasks or help for a given task.
+
install            Install current project to the local repository.
+
jar                Package up all the project's files into a jar file.
+
javac              Compile Java source files.
+
new                Generate project scaffolding based on a template.
+
plugin              DEPRECATED. Please use the :user profile instead.
+
pom                Write a pom.xml file to disk for Maven interoperability.
+
repl                Start a repl session either with the current project or standalone.
+
retest              Run only the test namespaces which failed last time around.
+
run                Run the project's -main function.
+
search              Search remote maven repositories for matching jars.
+
show-profiles      List all available profiles or display one if given an argument.
+
test                Run the project's tests.
+
trampoline          Run a task without nesting the project's JVM inside Leiningen's.
+
uberjar            Package up the project files and all dependencies into a jar file.
+
upgrade            Upgrade Leiningen to specified version or latest stable.
+
version            Print version for Leiningen and the current JVM.
+
with-profile        Apply the given task with the profile(s) specified.
+
 
+
Run lein help $TASK for details.
+
  
 
接着:
 
接着:
第66行: 第39行:
 
  Give me some Clojure!
 
  Give me some Clojure!
 
  nil
 
  nil
 +
 +
===插件===
 +
[https://github.com/technomancy/leiningen/wiki/Plugins Leiningen Plugins]
  
 
==Clojars==
 
==Clojars==

2016年4月30日 (六) 16:07的版本

Wikipedia-35x35.png 您可以在Wikipedia上了解到此条目的英文信息 Clojure Thanks, Wikipedia.

Clojure 是一个面向Java Virtual Machine 的动态语言。

Lisp 是一种编程语言,以表达性和功能强大著称,但人们通常认为它不太适合应用于一般情况。Clojure 是一种运行在 Java平台上的 Lisp 方言,它的出现彻底改变了这一现状。如今,在任何具备 Java 虚拟机的地方,您都可以利用 Lisp 的强大功能。

目录

指南

wget http://repo1.maven.org/maven2/org/clojure/clojure/1.8.0/clojure-1.8.0.zip
java -cp clojure-1.8.0.jar clojure.main
user=> (+ 1 2 3)
6
user=> (def hello (fn [] "Hello world"))
#'user/hello
user=> (hello)
"Hello world"

或使用 Leiningen REPL,它比 Clojure 自带的 REPL 好很多。

lein repl

Leiningen

使用leiningen工具来管理Clojure项目和Java配置。

brew install leiningen

或者获得 https://raw.github.com/technomancy/leiningen/preview/bin/lein 并放到 /bin 目录下,chmod 755

cd bin,执行 ./lein // 开始安装 Leiningen

lein help

lein help $TASK for details.

接着:

lein new start-clojure
cd start-clojure
lein repl
将获得一些jar,如:
Retrieving org/clojure/clojure/1.4.0/clojure-1.4.0.jar ...
user=>  (println "Give me some Clojure!")
Give me some Clojure!
nil

插件

Leiningen Plugins

Clojars

大数据

机器学习

计算机视觉

自然语言处理

消息通信

数据库

SQL

  • Korma: Tasty SQL for Clojure
  • Honey SQL: Turn Clojure data structures into SQL

PostgreSQL

MongoDB

Clojure Monger, Monger @ GitHub

Cassandra

  • cassaforte
  • alia: High performance Cassandra client for clojure
  • hayt: CQL3 DSL for Clojure

Redis

HBase

BI

Elasticsearch

HTTP

RESTful API

IDE

项目

文档

图书

用户

  • Cognitect, Clojue之父,Rich Hickey 是该公司Co-Founder & CTO。
  • 花旗信⽤实时⻛险估值系统Java/Clojure后端(1500节点分布计算)花旗投⾏信⽤部实时⻛险计算系统,逻辑使⽤Clojure。
  • Puppet: Puppet Server, Trapperkeeper, PuppetDB, Trapperkeeper Webserver Service
  • 沃尔玛: “Our Clojure system just handled its first Walmart black Friday and came out without a scratch.” - Walmart Labs
  • Riemann
  • LeanCloud 采用了多种语言混合来构建整个后端系统,包括 Clojure、Java、Node.js、Scala 等。其中 Clojure 构建了整个网站门户、存储开放 API、推送、聊天等核心服务,Node.js构建了云端代码服务(类似应用代码托管),我们还使用 Scala 编写的 Spark 任务来处理离线数据分析,此外,还有大量的统计类 MapReduce 任务使用 Java 编写并运行在 Hadoop 集群上。不同服务之间使用 RESTful 协议、RPC 框架或者队列进行通信。

更多用户>>>

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱