Skip to content

Clojure

Awesome Clojure Awesome

Awesome macros usage

解答为什么 lisp 如此出色,杀手级功能正在发挥作用

  • core.async - 将 AST 转换为 CSP 程序
  • cloroutine - 暂停和继续(协程)
  • missionary - 反应式数据流编程工具包
  • photon - 实时网络,如 Meteor,但适用于 Clojure(脚本)
  • metaclj - 分阶段编译
  • meander - 使用数据结构模式匹配进行透明数据转换
  • proteus - 引入可变变量(不要使用,只是学习如何将你的思维映射到不可变的世界)

Advanced datastructures

  • specter:一个优雅的 API,用于查询和转换嵌套和递归数据
  • meander:透明数据转换(定义为模式匹配)
  • Persistent AVL trees:具有日志时间排名查询的持久排序映射和集合
  • Finger Tree:双列表、计数双列表、计数排序集
  • Hitchhiker Tree:创建快速、可快照、大规模可扩展的数据库
  • Hierarchical set
  • Ordered:有序集和地图
  • Lazy Map:其值仅在访问时计算
  • Duratom:持久原子
  • Durable Queue:队列保留在磁盘上
  • bifurcan:线性映射/集合/列表(在内存中连续存储条目),;用java编写,但测试套件(阅读:使用示例) in clojure

Web Framework

其实这里不要搜索rails/django,而是自己编写 * Compojure * Compojure-api * Luminus * Duct * Pedestal * Datsys * yada * Hoplon * Fulcro * Coast * Reitit * Tadam * Column * Biff

Dependency injection

有状态对象的托管生命周期

Build Automation and Package management

用于项目构建自动化和包/依赖项管理的库.

Version Control Management

用于与 VCS 软件交互的代码实用程序

Date and Time

用于处理日期和时间的库.

GUI

Audio

HTTP

用于使用 HTTP 的库.

  • clj-http :Apache HttpComponents 客户端包装器
  • http-kit :简单、高性能的事件驱动的HTTP客户端和服务器
  • ring :HTTP服务器抽象
  • kvlt :跨 JVM / Node / 浏览器的 HTTP 统一异步客户端接口
  • aleph :基于Netty的异步客户端/服务器,默认为HTTP、TCP和UDP
  • hato :Clojure 的 HTTP 客户端,包装 JDK 11 的 HttpClient

Database

数据库和数据库客户端库

Connection pools

数据库连接池

Structural Migrations

保持数据库和其他同步

Redis

JSON

Protocol Buffers and gRPC

Database Cli

ORM and SQL generation

用于 SQL 生成的 DSL. * Walkable * Korma * Specql * stch-library/sql * sqlingvo * sqlium * honeysql * Toucan

Security

身份验证、授权和其他安全相关的库.

RESTful API

用于开发 RESTful API 的库.

GraphQL API

用于开发 GraphQL API 的库.

Emails

HTML Manipulation

用于处理 HTML 的库.

Data Validation

用于验证数据的库.

Type System

Clojure 的可选类型系统

Pattern Matching

Async processing

Monads

WebSocket

Testing

Webdriver automation

Code Analysis and Linter

Science and Data Analysis

库、扩展 REPL 以及其他科学和统计数据工具 分析和可视化.

Machine Learning

Computer Vision

Text Processing

Parsing

Exceptions and Error Handling

Rule-based Programming

Editor Plugins

Documentation

用于(非 LP)代码和项目文档的实用程序和库

Literate Programming

Archives and Compression

Miscellaneous

Debugging

CI

Project Management

Terminal UI

Graphviz

Game Development

  • jme-clj - Clojure 3D 游戏引擎(包装器),由 jMonkeyEngine 提供支持
  • play-cljc - Clojure 和 ClojureScript 游戏库

Guides

Video tutorials

YouTube

Websites

Twitter

Exercises