Curated list of awesome lists
Awesome Clojure
Awesome macros usage
Answers why the lisp shines, killer features in action
-
core.async - transforms AST into CSP programs
-
cloroutine - suspends and continuations (coroutines)
-
missionary - a reactive dataflow programming toolkit
-
photon - realtime web, like Meteor, but for Clojure(Script)
-
metaclj - staged compilation
-
meander - transparent data transformation using datastructure pattermatching
-
proteus - introduce mutable variables (don't use, just learn how to map your mind into immutable world)
Advanced datastructures
-
specter: an elegant API for querying and transforming nested and recursive data
-
meander: transparent data transformation (defined as pattern-matching)
-
Persistent AVL trees: persistent sorted maps and sets with log-time rank queries
-
Finger Tree: double-list, counted-double-list, counted-sorted-set
-
Hitchhiker Tree: create fast, snapshottable, massively scalable databases
-
Hierarchical set
-
Ordered: ordered sets and maps
-
Lazy Map: whose values are only calculated when accessed
-
Duratom: persisted atoms
-
Durable Queue: queue persisted on disk
-
bifurcan: linear map/set/list (stores entries contiguously in memory), ;writtern in java, but test suite (read: usage examples) in clojure
Web Framework
Actually don't search rails/django here, but compose them by yourself
Dependency injection
Managed lifecycle of stateful objects
Build Automation and Package management
Libraries for project build automation and package/dependency management.
Version Control Management
Code utilities for interacting with VCS software
Date and Time
Libraries for working with dates and times.
GUI
Audio
HTTP
Libraries for working with HTTP.
-
clj-http : Apache HttpComponents client wrapper
-
http-kit : Simple, high-performance event-driven HTTP client and server
-
ring : HTTP server abstraction
-
kvlt : Uniform, asychronous client interface for HTTP across JVM / Node / browsers
-
aleph : Async client/server based on Netty, with defaults for HTTP, TCP and UDP
-
hato : An HTTP client for Clojure, wrapping JDK 11's HttpClient
Database
Databases and database client libraries
Connection pools
Database connection pools
Structural Migrations
Keeps database and others in sync
Redis
JSON
Protocol Buffers and gRPC
Database Cli
ORM and SQL generation
DSL for SQL generation.
Security
Authentication, authorization and other security related libraries.
RESTful API
Libraries for developing RESTful APIs.
GraphQL API
Libraries for developing GraphQL APIs.
Emails
HTML Manipulation
Libraries for working with HTML.
Data Validation
Libraries for validating data.
Type System
Optional type system for Clojure
Pattern Matching
Async processing
Monads
WebSocket
Testing
Webdriver automation
Code Analysis and Linter
Science and Data Analysis
Libraries, extended REPLs, and other tools for scientific and statistical data
anylysis and visualization.
Machine Learning
Computer Vision
Text Processing
Parsing
Exceptions and Error Handling
Rule-based Programming
Editor Plugins
Documentation
Utilities and libraries for (non-LP) code and project documentation
Literate Programming
Archives and Compression
Miscellaneous
Debugging
CI
Project Management
Terminal UI
Graphviz
Game Development
-
jme-clj - A Clojure 3D Game Engine (Wrapper), Powered by jMonkeyEngine
-
play-cljc - A Clojure and ClojureScript game library
Guides
Video tutorials
YouTube
Websites
Exercises