Clojure programming language discussion
Clojure is a Lisp that targets JVM and JS runtimes
Finding information about Clojure
- History of Clojure
- Clojure Homepage
- A Clojure Newbie Guide
- Clojure Documentation
- Clojure Cheat Sheet
- ClojureScript Cheat Sheet
- Clojure by Example
- Clojure beginner resources
API Reference
Clojure Guides
- Clojure Distilled Beginner Guide
- Clojure Style Guide
- Clojure for the Brave and True
- Clojure from the ground up
- ClojureScript in 15 minutes
- ClojureScript Workshop
Practice Problems
Interactive Problems
Clojure Videos
The Clojure Community
- Ask Clojure
- Clojure user groups
- ClojureScript user groups
- Clojure Slack Channel
- Clojurians-Zulipchat
- Clojure Discord
- Clojureverse: a forum for and by the Clojure community
- matrix/riot-im Clojure room
Clojure Books
- Clojure Book
- The Joy of Clojure
- Clojure Programming
- Clojure In Action
- Programming Clojure
- Web Development with Clojure
- Clojure Cookbook
- Professional Clojure
- Living Clojure
- Getting Clojure
Tools & Libraries
- Leiningen - Package management
- nREPL - Networked REPL
- Gorilla REPL - A rich REPL for Clojure in the notebook style
- Clojars - Clojure library repository
- The Clojure Toolbox - a list of popular Clojure libraries
- (clj-templates) - templates for Leiningen and Boot
Clojure Editors
- Emacs CIDER
- clojure-mode.el - Emacs mode
- Emacs Prelude - a gentler Emacs mode
- Cursive - Clojure support for IntelliJ
- Calva - Calva โ Visual Studio Code
- Vim Iced - Vim
- vim-fireplace - another Vim editor
- Conjure - even more Vim
Web Platforms
from the article...
"Imperative Readability
< snip >
How does the function execute its logic?
What are the specific steps taken by the code?
Which operations are performed in what sequence?
How are state changes managed and tracked
< snip >
Declarative Readability
On the other hand, declarative readability (or readability-d) uses abstractions and architectural layers to manage complexity. It seeks to answer very different types of questions:
What is the intent of this function or module?
What business rule or domain concept is this code encapsulating?
What is the end goal or output of this code, in terms of the domain?
What are the high-level policies or constraints that this code is adhering to?
... I've no interest in learning Scala or Closure, but damn that is an important differentiation...