Skip to content
Practicalli Clojure
Code documentation
Initializing search
GitHub
Practicalli Clojure
GitHub
Introduction
Introduction
Clojure in Fifteen Mins
REPL Workflow
Concepts
Concepts
Functional vs Imperative
From The Author
Contributing
Writing Tips
Install
Install
Java Host
Clojure CLI
Clojure CLI Overview
Clojure CLI Overview
Practicalli Config
Built-in Commands
Defining aliases
Execution Options
REPL Reloaded
Clojure Style
Clojure REPL
Clojure REPL
Coding
Managing Libraries
Help
Custom Startup
Troubleshoot
Theory REPL Uncovered
Clojure Projects
Clojure Projects
Template Projects
Template Projects
Practicalli Templates
Practicalli Templates
Minimal
Application
Service
Landing Page
Design Templates
Add Libraries
Namespaces
Rich Comment
Hotload in Project
Migrate projects
Package
Package
tools.build
Clojure Editors
Clojure Editors
Clojure LSP
Clojure LSP
Clojure LSP Snippets
Practicalli Snippets
Automation
Automation
Make
Data Inspectors
Data Inspectors
Clojure Inspector
Portal
Code Challenges
Code Challenges
4 Ever Clojure
4 Ever Clojure
Exercism
Exercism
RNA Transcription
Nucleotide Count
Hamming
Space Age
Bob
Bob
Bob string approach
Bob solution - regex
Simple projects
Simple projects
Random Function
Tripple Lock
Encoder Decode
Encoder Decode
Convert boolean values
Caesar Cipher ROT13
RNA to DNA transcription
Clacks Messages
Data Transform
Data Transform
Most common word
Mutating State
Mutating State
Mutants Assemble
TDD Kata
TDD Kata
Recent Song list
Salary Slip Generator
CodeWars
Advent Of Code
Games
Games
TicTacToe
TicTacToe
Testing
Testing
Unit Testing
Unit Testing
Writing Tests
Fixtures
Test Selectors
Test runners
Test runners
Kaocha
Cognitect Labs
Example Projects
Clojure Spec
Clojure Spec
REPL Experiments
Project config
Organise spec
Data Specs
Data Specs
None
Literal values
Conform
Is the value valid?
Explaining non-conforming values
Defining specifications
Registry for unique and re-usable specifications
Entity maps
Map literal syntax - #: and #::
Combining specifications with and and or
Composing Specifications
Hierarchical Specifications
Function Specs
Function Specs
Function definition specifications
Documentation
Higher order functions
Testing
Testing
Checking arguments in function calls with specifications
Generative Testing
Generative Testing
Generators for predicate specifications
Example projects using Clojure Spec
Projects using Clojure spec - next-jdbc
Spec Project
Spec Project
Playing Cards
Playing Cards
Bank Account
Bank Account
Write failing tests
Customer details specification
Testing data Specifications
Account holder specification
Generate test data
Unit tests with specs
Specifications for function definitions - fdef
Test functions against spec
Continuous Integration
Continuous Integration
Circle CI
Circle CI
Random Clojure Function
Status Monitor Circle CI Continuous Integration
GitHub Workflow
GitHub Workflow
Reference
Reference
Clojure Quick Reference
Clojure CLI
Clojure CLI
None
Common alias definitions
Reference: Clojure CLI JVM Options
Code Analysis
Standard Library
Standard Library
Destructuring
Clojure Predicate functions