欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Clojure
来自开放百科 - 灰狐
(版本间的差异)
小 (→HTTP) |
小 (→指南) |
||
第34行: | 第34行: | ||
或使用 Leiningen REPL,它比 Clojure 自带的 REPL 好很多。 | 或使用 Leiningen REPL,它比 Clojure 自带的 REPL 好很多。 | ||
lein repl | lein repl | ||
− | + | Web应用启动: | |
− | lein ring server | + | lein run 或 lein ring server |
== Leiningen== | == Leiningen== |
2017年12月17日 (日) 06:52的版本
您可以在Wikipedia上了解到此条目的英文信息 Clojure Thanks, Wikipedia. |
Clojure 是一个面向Java Virtual Machine 的动态语言。
Lisp 是一种编程语言,以表达性和功能强大著称,但人们通常认为它不太适合应用于一般情况。Clojure 是一种运行在 Java平台上的 Lisp 方言,它的出现彻底改变了这一现状。如今,在任何具备 Java 虚拟机的地方,您都可以利用 Lisp 的强大功能。
目录 |
简介
Clojure is about Data, Scala is about Types, Java is about Objects.
Eclipse Public License.
虚拟机编译器
语言
由Clojure开发的编程语言:
指南
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
Web应用启动:
lein run 或 lein ring server
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
插件
Clojars
- Clojars: Clojure libraries
- Third-party templates
大数据
- Apache Storm
- Cascalog, 基于Apache Hadoop的数据处理。
- Onyx
- Sparkling - A Clojure API for Apache Spark
- PigPen Map-Reduce for Clojure
数据分析
数据分析和商业智能
机器学习
- clj-ml
- deeplearning4j
- nurokit Toolkit for machine learning in Clojure.
- k9
计算机视觉
自然语言处理
消息通信
- Langohr
- Machine Head, a Clojure MQTT Client
- ZeroMQ Async
事件CEP
并行并发
- Clojure web server benchmarks
- pulsar: Actor model 实现
- core.async Go式轻量级线程,⻓得像同步的异步.
- Avout: Distributed State in Clojure
金融货币
- ClojureWerkz Money a Clojure Library to Work With Money
验证授权
- Friend
- Clojure Scrypt Library
- Buddy - Security library for clojure.
数据库存储
- Datomic
- Clojure libraries for MongoDB, RabbitMQ, validations, Neo4J, ElasticSearch, Apache Cassandra, Riak, Memcached, stream processing
- hikari-cp 连接池
- clj-record 类似 Ruby on Rails ActiveRecord
- PuppetDB
SQL
- Korma: Tasty SQL for Clojure
- Honey SQL: Turn Clojure data structures into SQL
- yesql: https://github.com/krisajenkins/yesql
PostgreSQL
MongoDB
Clojure Monger, Monger @ GitHub
Cassandra
- cassaforte 建议:暂不使用高版本Cassandar,因为可能不支持。
- alia: High performance Cassandra client for clojure
- hayt: CQL3 DSL for Clojure
Redis
HBase
BI
Elasticsearch
Web HTTP
- ring
- clj-http
- http-kit
- aleph built on top of Netty
- Cheshire
- necessary-evil XML-RPC
- nginx-clojure
- Pedestal
RESTful API
- compojure-api with Compojure & Swagger
- liberator
- ring-swagger, Swagger Spec for Clojure Web Apps
- Sweet-Liberty
IDE和Editor
- Light Table
- Nightcode
- Cursive IDE
- CCW IDE
- Nightcode
- clooj, a lightweight IDE for clojure
- Catnip, A web based Clojure IDE
- clojure-emacs for Emacs
- Clojure with Emacs
- SublimeREPL for SublimeText
- fireplace.vim: Clojure REPL support
GUI
项目
- ClojureWerkz团队开发了众多开源项目
- Apache Storm
- tryclojure
- ClojureScript
- incanter
- Ring
- Compojure
- CravenDB文档数据库
- CircleCI's frontend
- Enlive
- Conjure A Rails like framework for Clojure.
- Boot: Build tooling for Clojure
- cljsjs
- alda 音乐编程语言
- 用 overtone 来演奏歌曲
- schema 数据描述与验证
- Timbre 日志库
- cronj cron for clojure
- clj-bloom
文档
图书
用户
- 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 框架或者队列进行通信。
图集
链接
- Clojure官网
- Clojure @ GitHub
- Clojure Handbook
- Clojure Blog
- Planet Clojure
- Awesome Clojure
- Clojars
- The Clojure Toolbox
- ClojureDocs
- Grimoire - Community Clojure Documentation
- Clojure API 中文文档, Clojure API 文档的中文计划
- CrossClj: cross-referencing the Clojure ecosystem
- 4Clojure, 4clojure @ github
- A Brief Beginner's Guide To Clojure
- Data Sorcery with Clojure
- http://groups.google.com/group/clojure
- Clojure 语言的设计
- Clojure 编程语言
- FlightCaster秘笈——Clojure和Rails
- ClojureScript通过Javascript将Clojure引入到浏览器端
- Java 下一代: Groovy、Scala 和 Clojure
- 研究指出:Clojure、CoffeeScript和Haskell是表现力最强的通用语言
- Best In Class
分享您的观点