awesome-clojure
Clojure resources
A curated collection of useful links and resources for Clojure programmers
list of useful links for clojurians
351 stars
22 watching
21 forks
last commit: 3 months ago
Linked from 2 awesome lists
articleclojureclojurescript
http://open-source.braveclojure.com/ | Aggregators | Description | Link | |-------------------------------------+------------------------------------------------------| | Open Source Clojure projects | | | Posts from various contributors | | | Libraries and tools for Clojure | | | Clojure daily | | | Community Curated Clojure Resources | | | Clojure graph resources | | | ||
http://blog.clojurewerkz.org/ | Blogs | Description | Link | |----------------------------+------------------------------------| | ClojureWerkz projects | | | Become a better programmer | | | Tons of cool ideas | | | Parens of death | | | Anna Pawlicka | | | Jessica Kerr | | | Stuart Sierra | | | Adam Bard | | | Parallel Universe | | | Verma / blog | | | Lisp Chronicles | | | Clojure goes fast | | | Inside Clojure | | | ||
http://yogthos.net/posts/2015-01-15-A-Plugin-System-in-Clojure.html][Plugin | [[ system in Clojure]] | ||
http://blog.mattgauger.com/blog/2014/09/15/clojure-code-quality-tools/][Clojure | [[ quality tools]] | ||
http://blog.josephwilk.net/clojure/building-clojure-services-at-scale.html][Clojure | [[ services at Scale]] | ||
http://josf.info/blog/2014/10/02/practical-zippers-extracting-text-with-enlive/][Zippers]] | [[ | ||
http://spootnik.org/entries/2014/11/06_playing-with-clojure-core-interfaces.html][Clojure | [[ interfaces]] | ||
http://dev.mixrad.io/blog/2014/10/19/Clojure-libraries/][Clojure | [[ at MixRadio]] | ||
http://www.braveclojure.com/writing-macros/][Clojure | [[ Macros explained]] | ||
http://yobriefca.se/blog/2014/05/19/the-weird-and-wonderful-characters-of-clojure/][Weird | [[ Clojure characters explained]] | ||
https://aphyr.com/posts/319-clojure-from-the-ground-up-debugging][Debugging | [[ clojure]] | ||
http://getprismatic.com/story/1421983286985][Ring | [[ Web Applications with Comsat]] | ||
http://learnxinyminutes.com/docs/compojure/][Compojure | [[ tutorial]] | ||
http://blog.factual.com/open-source-clojure-library-for-geospatial-information][Geospatial | [[ Information]] | ||
http://www.jasonstrutz.com/posts/obfuscate-your-clojure-webapp-ids-with-hashids/][Clojure | [[ web-apps IDs with Hashids]] | ||
http://rundis.github.io/blog/2015/buddy_auth_part1.html][Securing | [[ Clojure Microservices using buddy]] | ||
http://suva.sh/2014/10/27/test-workflow-setup-for-clojure/][Setup | [[ TDD workflow for Clojure]] | ||
http://sunng.info/blog/blog/2014/07/08/microservice-and-slacker-cluster/][Microservice | [[ Architecture With Slacker Cluster]] | ||
https://semaphoreci.com/community/tutorials/testing-clojure-web-applications-with-selenium][Testing | [[ Clojure with Selenium]] | ||
https://semaphoreci.com/community/tutorials/testing-clojure-web-applications-with-kerodon][Testing | [[ Clojure web apps with kerodon]] | ||
http://blog.circleci.com/testing-clojurescript-code-with-clojurescript-test-and-karma/][Testing | [[ Clojurescript with Karma]] | ||
http://lab.brightnorth.co.uk/2014/05/07/midje-rocks-integration-testing-in-clojure/][Integration | [[ tests with Midje]] | ||
https://nelsonmorris.net/2015/04/22/streaming-responses-using-ring.html][Streaming | [[ responses using Ring]] | ||
http://insideclojure.org/2015/04/27/poly-perf/][Polymorfic | [[ performance]] | ||
http://stuarth.github.io/pixie/pixie-pi/][Pixie | [[ Pi]] | ||
http://brownsofa.org/blog/2015/06/14/clojure-in-production-logging/][Clojure | [[ in Production: Logging]] | ||
http://martinklepsch.github.io/tenzing/][Clojurescript | [[ application template]] | ||
https://speakerdeck.com/kachayev/efficient-concurrent-and-concise-data-access-in-clojure][Efficient | [[ , Concurrent and Concise Data Access in Clojure]] | ||
http://dev.solita.fi/2014/03/18/pimp-my-repl.html][Pimp | [[ my REPL]] | ||
http://www.javacodegeeks.com/2015/09/clojure-prismatic-schemas-are-swagger.html][Clojure | [[ (Prismatic) Schemas are Swagger]] | ||
http://camdez.com/blog/2015/08/27/practical-data-coercion-with-prismatic-schema/][Practical | [[ Data Coercion With Prismatic/schema]] | ||
http://mishadoff.com/blog/clojure-design-patterns/][Clojure | [[ Design Patterns]] | ||
http://daveyarwood.github.io/2014/07/30/20-cool-clojure-functions/][20 | [[ cool Clojure functions]] | ||
https://adambard.com/blog/deploying-a-clojure-project-with-pallet/][Deploying | [[ a Clojure web app with Pallet]] | ||
https://engineering.fundingcircle.com/blog/2016/01/11/tdd-in-clojure/][TDD | [[ in Clojure]] | ||
http://nathanmarz.com/blog/functional-navigational-programming-in-clojurescript-with-sp.html][Functional-navigational | [[ programming with Specter]] | ||
http://escherize.com/2016/02/29/boot-with-cljs/][Quickstart | [[ Boot and ClojureScript]] | ||
https://kartar.net/2016/04/managing-maintenance-with-riemann/][Managing | [[ Maintenance With Riemann]] | ||
http://blog.muhuk.com/2016/05/10/using_codox_effectively.html][Using | [[ Codox Effectively]] | ||
http://blog.jenkster.com/2016/06/clojure-fu-with-juxt.html][Clojure-Fu | [[ with Juxt]] | ||
http://garajeando.blogspot.com/2016/07/kata-ohce-in-clojure-using-outside-in.html][Ohce | [[ in Clojure using outside-in TDD with Midje]] | ||
https://www.dotkam.com/2017/01/10/hubble-space-mission-securely-configured/][Hubble | [[ Space Mission Securely Configured]] | ||
http://www.surrealanalysis.com/post/clojure-and-consul/][Consul | [[ & Clojure]] | ||
https://adzerk.com/blog/2017/02/faster-clojure-metadevelopment-with-boot/][Faster | [[ meta-development with boot]] | ||
http://dev.solita.fi/2017/03/09/isolated-integration-testing-with-clojure-and-postgres.html][Isolated | [[ integration testing with postgres]] | ||
http://paul.stadig.name/2016/08/reducible-streams.html][Reducible | [[ streams]] | ||
https://purelyfunctional.tv/guide/clojure-concurrency-the-ultimate-guide/][The | [[ Ultimate Guide to Clojure Concurrency]] | ||
https://adambard.com/blog/domain-modeling-with-clojure-spec/][Domain | [[ modelling with clojure.spec]] | ||
http://dragan.rocks/articles/17/Clojure-Numerics-1-Use-Matrices-Efficiently][Use | [[ Matrices Efficiently]] | ||
http://tonsky.me/blog/readable-clojure/][Readable | [[ Clojure]] | ||
https://labs.uswitch.com/comprehensible-code/][Comprehensible | [[ Code]] | ||
http://www.functionalbytes.nl//clojure/mount/mount-lite/2016/02/11/mount-lite.html][Yet | [[ another "mount" alternative]] | ||
http://clojure-goes-fast.com/blog/performance-nemesis-reflection/][Performance | [[ nemesis: reflection]] | ||
http://clojure-goes-fast.com/blog/introspection-tools-java-decompilers/][Introspection | [[ tools: Java decompilers]] | ||
http://www.metosin.fi/blog/reitit/][Reitit | [[ , Data-Driven Routing with Clojure(Script)]] | ||
https://whimsical.co/tech/how-we-built-whimsical/][How | [[ We Built Whimsical]] | ||
https://tirkarthi.github.io/programming/2018/08/17/redis-streams-clojure.html][Redis | [[ streams and Clojure]] | ||
http://ahungry.com/blog/2018-12-26-Clojure-is-Capable.html][Clojure | [[ is capable]] | ||
https://mjg123.github.io/2017/10/04/AppCDS-and-Clojure.html][Quicker | [[ Clojure startup with AppCDS and AOT]] | ||
https://www.dotkam.com/2017/04/09/hazelcast-keep-your-cluster-close-but-cache-closer/][Hazelcast | [[ : Keep your cluster close, but cache closer]] | ||
https://tech.redplanetlabs.com/2020/01/06/serializing-and-deserializing-clojure-fns-with-nippy/][Serializing | [[ and Deserializing Clojure Fns with Nippy]] | ||
https://medium.com/@pwentz/laziness-in-clojure-3d83645bf7f3][Laziness | [[ in Clojure]] | ||
http://bytopia.org/2016/10/15/beware-of-assertions/][Beware | [[ of assertions]] | ||
https://aphyr.com/posts/360-loopr-a-loop-reduction-macro-for-clojure][Loopr | [[ : A Loop/Reduction Macro for Clojure]] *** collections | ||
https://purelyfunctional.tv/guide/clojure-collections/][Clojure | [[ Data Structures Tutorial]] *** transducers | ||
http://elbenshira.com/blog/understanding-transducers/][Understanding | [[ transducers]] | ||
http://blog.juxt.pro/posts/xpath-in-transducers.html][Processing | [[ documents with transducers]] | ||
https://labs.uswitch.com/transducers-from-the-ground-up-the-practice/][Transducers | [[ from the ground up]] | ||
https://www.astrecipes.net/blog/2016/11/24/transducers-how-to/][Transducers | [[ how-to]] | ||
https://dawranliou.com/blog/better-performance-with-java-arrays-in-clojure/][Better | [[ Performance With Java Arrays In Clojure]] *** specs | ||
http://conan.is/blogging/clojure-spec-tips.html][Clojure | [[ Spec Tips]] | ||
http://blog.cognitect.com/blog/2016/8/9/focus-on-spec-predicates][Focus | [[ on Spec: predicates]] | ||
https://www.metosin.fi/blog/spec-transformers/][Spec | [[ Transformers]] *** virtual threads | ||
https://andersmurphy.com/2024/05/06/clojure-managing-throughput-with-virtual-threads.html][Clojure | [[ : managing throughput with virtual threads]] | ||
https://ericnormand.me/guide/clojure-virtual-threads][Virtual | [[ Threads in Clojure]] | ||
https://github.com/clojure/clojurescript | 9,235 | 6 days ago | Projects Following is a list of amazing projects, worth to keep an eye on. ** clojurescript ClojureScript is a new compiler for Clojure that targets JavaScript. It is designed to emit JavaScript code which is compatible with the advanced compilation mode of the Google Closure optimizing compiler - |
https://github.com/zcaudate/hara][General | [[ Purpose Utilities Library]] | ||
https://github.com/purnam/purnam][Language | [[ extensions for clojurescript]] | ||
https://github.com/zcaudate/vinyasa][Give | [[ your clojure workflow more flow]] | ||
https://github.com/clojure-emacs/cider][Cider | [[ IDE that rocks!]] | ||
https://metaredux.com/posts/2019/10/05/hard-cider-project-specific-configuration.html][Hard | [[ CIDER: Project-specific Configuration]] | ||
https://github.com/clojure-emacs/clj-refactor.el][Collection | [[ of Clojure refactoring functions]] | ||
https://github.com/mbuczko/helm-clojuredocs][Help | [[ on clojuredocs.org]] | ||
https://github.com/bbatsov/clojure-style-guide | 4,015 | 9 months ago | Github | Description | Link | |------------------------------------------------------------------------------+----------------------------------------------------------| | A community coding style guide | | | This is the home of O'Reilly's Clojure Cookbook | | | Routing library for Ring | | | Example project for Cljs/Om using Boot | | | Clojure static page generation using boot | | | Simple css/js asset fingerprinting for Boot | | | Init scheme with service supervision with Boot | | | Compatibility layer with the environ library | | | Database migrations with Ragtime using Boot | | | Your trampoline to Clojure dev toolbox | | | Clojure implementation of RFC 6749 OAuth 2.0 | | | Security library for Clojure | | | Enlive/Enfocus style templating for Facebook's React | | | Produce and consume JMX beans from Clojure | | | Clojure library for using SQL | | | Source code documentation tool | | | Clojure documentation tool | | | Functions with parameter pattern matching like erlang | | | A simple static site generator written in Clojure | | | Data processing on Hadoop without the hassle | | | Reducers, but for parallel execution | | | Transducers and reducing functions for Clojure(Script) | | | A thin facade around Coda Hale's metrics library | | | Multi-class Naive Bayes Classifier | | | Auth library for Clojure and Ring based on OAuth2 | | | Managed lifecycle of stateful objects in Clojure | | | State management with a map | | | Event-driven programming and stream processing toolkit | | | Understanding Clojure Sequences | | | Erlang-style supervisor error handling for Clojure | | | A validation DSL for Clojure & Clojurescript applications | | | Simple scraper and tokenizer | | | Clojure template for REST web services in the style of MixRadio | | | Display ghostly yesql defqueries inline, in Emacs | | | A lightweight ClojureScript abstraction over ReactJS | | | Clojure file and directory watcher | | | Types again :) | | | ClojureScript interface to local/session storage | | | A tiny Clojure routing library for Ring | | | Minimal React wrapper for ClojureScript | | | A Ragtime extention for ArangoDB | | | Contracts programming with Clojure | | | Threadpool tools for Clojure | | | Utility library to write microservices | | | Experimental multilenses | | | A Constraint Programming library for Clojure | | | Logo in Clojure | | | Elegant and efficient remote data access | | | Geometry toolkit for Clojure/ClojureScript | | | DSL for building client to remote service APIs | | | Trace-oriented debugging tools for Clojure | | | New dependencies in REPL on the fly | | | Priority map | | | Durable queue implementation | | | Durable reference types for Clojure | | | A really lightweight Clojure scheduler | | | Interface to the Pikaday js date-picker | | | REPL functions to support the reloaded workflow | | | Control throughput of fn calls and async channels | | | Command-line args parsing and validation with malli schemas | | | Managing Clojure app state since (reset) | | | "Smarter" threading macros | | | Human dates | | | A routing library | | | Syntax threading macros for Clojure | | | Fast clojure json parser | | | Elegant remote data access for Clojure(Script) | | | Hierarchical Timing Wheels for Clojure(Script) | | | Turn files into asynchronous streams | | | Bidirectional data-driven request routing | | | Library agnostic way to stub HTTP endpoints | | | Query your maps as in Datalog | | | A feature flag library for Clojure | | | Clojure Error Message Catalog | | | Functional, persistent, performant data structure | | | Forward-chaining rules in Clojure | | | Monadic error handling | | | Visualization of Clojure data structures using Graphviz | | | Clojure wrapper over failsafe | | | One Time Password (TOTP and HOTP) for Clojure | | | Mocks, stubs, and spies for Clojure protocols | | | Failure handling with Manifold | | | A gentle touch of Clojure to Hashicorp's Consul | | | A lightweight library of useful Clojure functions | | | Meldable priority queues in Clojure | | | XChart wrapper for Clojure | | | Convenience features making Clojure even sweeter | | | Elasticsearch client for Clojure | | | A functional Clojure progress bar for the CLI | | | Hazelcast bells and whistles under the belt | | | Clojure library for working with the GH v3 API | | | Reactive Streams for Clojure(Script) | | | Clojure/ClojureScript URI library | | | Command-line interfaces using only docstring | | | Rewrite Clojure Code and EDN | | | Fast Clojure Matrix Library | | | Bidirectional Ring router. Rails inspired. | | | Clojure Test Fixtures & Datasources | | | Evaluating composable lang rules on input strings | | | Re-frame with DataScript as a data storage | | | Http API format negotiation, encoding and decoding | | | A remote (CQRS) API library for Clojure | | | Ring async Server-Sent Events handler | | | General-purpose ACME client | | | Functional JVM bytecode generation for Clojure | | | All functions deserve to be measured | | | A trace window for re-frame | | | Add structure to a reagent/re-frame app | | | A queue which schedules fairly by key | | | Jetty adapter enhanced with servlet-mapping support | | | Accessing HDFS, S3, SFTP and other fs via a single API | | | AWS pure Clojure, spec-based implementation | | | An isolation framework for Clojure/ClojureScript | | | Reformat Clojure(Script) source code and s-expressions | | | Lean Hash Array Mapped Trie (Lean Map) | | | Succint and readable integration tests over RESTful APIs | | | Fast Idiomatic Pretty Printer | | | Graphing tool for Clojure built with interactivity in mind | | | REPL-based data visualization in the browser | | | Graphql client for re-frame | | | A library of parallel-enabled Clojure functions | | | Structural diffs for clojure source code | | | Homoglyph/IDN homograph detection/handling | | | A fast data-driven router for Clojure(Script) | | | A durable datalog impl adaptable for distribution | | | An all-purpose Clojure graph data structure | | | Clojure(Script) library for stubs, spies and mocks | | | Add function args and return Spec checks via assertions | | | Clojure library for fast JSON encoding and decoding | | | Fetch data from SQL using Clojure(script) | | | Asynchronous programming toolkit for clojure(script) | | | Clojure mocking library | | | Configuration from various sources | | | Measure object memory consumption from Clojure | | | Convert REPL interactions into example-based tests | | | Lein-jlink | | | Programmatic access to AWS services | | | Zero-configuration command-line HTTP files server | | | Clojure/ClojureScript data transformation library | | | Content-addressable storage | | | Automatic generative testing, side effect detection | | | A minimal and opinionated linter for Clojure code | | | Aspect-oriented Clojure(script) def-forms | | | Chronicle Queue helpers | | | String mangling library for Clojure | | | Binary byte buffer manipulation reminiscent of C | | | cond that supports :let clauses and other conveniences | | | Nippy extension to add ability to freeze and thaw fns | | | A replacement for Clojure's proxy | | | A library for accessing the OpenCage Geocoding API | | | Save/Load Extensions for Neanderthal | | | Utility functions for working with Redis streams in carmine | | | Functions as Data | | | Next generation high performance Clojure toolkit | | | Embeddable Clojure profiler | | | DSL for compiling SVG elements with Clojure(script) | | | Royally reified regular expressions | | | Background job queue on top of PostgreSQL | | | Implementation of DataLoader in Clojure | | | Datahike with Firebase as data storage | | | A data-driven, reagent-wrapper for RoughJS | | | Union Types for clj(s) based on clojure.spec | | | Native fast-starting Clojure scripting environment | | | Utilities for managing Datalog rulesets from Clojure | | | Graph based visualization tool for re-frame event chains | | | ClojureScript wrapper around the JavaScript fetch API. | | | Clojure(Script) library for phrasing spec problems. | | | Do-it-yourself i18n library for Clojure/Script | | | RCF – a REPL-first, async test macro for Clojure/Script | | | Matcher combinator to compare nested data structures | | | Unorthodox control flow, for Clojurists | | | Zero dependency efficient read/write of json and csv data | | | A Clojure(Script) & babashka library for dealing with time | | | Efficient JavaScript object interop via idiomatic ClojureScript | | | Facilitates calling of client-side functions from server-side generated HTML | | | An extremely lightweight fault tolerance library for Clojure | | |