clojure
Clojure functional programming on the JVM with immutable data. Use for .clj files.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Clojure
A Lisp hosted on the JVM (and JS via ClojureScript) with a focus on immutability.
When to Use
- Data processing
- Concurrency (Software Transactional Memory)
- Web development
- JVM interop needed
Quick Start
(println "Hello, World!")
(defn square [x]
(* x x))
(map square [1 2 3]) ; (1 4 9)
Core Concepts
Persistent Data Structures
Immutable lists, vectors, maps, and sets that structurally share data to be efficient.
REPL Driven Development
Writing code interactively in a Running Eval-Print Loop.
Macros
Code that takes code as input and returns code.
Best Practices
Do:
- Use the REPL
- Use threading macros
->and->>to make code readable - Leverage JVM libraries
Don't:
- Use atoms/agents/refs unless you need mutable state
- Write deeply nested parentheses (use structural editing)
References
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-03-11
- Index updated
- 2026-03-11
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!