B03 Clojure Language Basics
Buy now
Learn more
Variables and scope
Global Scope
Let and Function Argument Scope
Dynamic Scope
Scope problems diagnosed
Namespaces
Clojure Namespace Declarations
Navigating Namespaces at the REPL
Syntax
for comprehensions
Clojure Function Syntax
Collections
Introduction to Clojure's Collections
Data structures
Vector collection
HashMap collection
Set collection
List collection
Queue collection
Sorted Map collection
Sorted Set collection
Access patterns
Sequential Access Pattern
Remembering Duplicates Access Pattern
Lookup by key Access Pattern
Associate key and value Access Pattern
Dissociate a key and value Access Pattern
Count the elements Access Pattern
Equality Comparison Access Pattern
Removing an item from a set Access Pattern
Splitting a sequence Access Pattern
Containment Check Access Pattern
First-in, first-out Access Pattern
Last-in, First-out Access Pattern
Usage patterns
Entity Usage Pattern
Index Usage Pattern
Tuple Usage Pattern
Multi-comparison Usage Pattern
Transients
Usage in an Atom
Hybrid Collections
Hybrid Types
Vectors and Lists in syntax
Lazy sequences
Collections vs sequences
Lazy sequences
What are lazy sequences?
Gotcha: Effects and chunking
Gotcha: *print-length*
Gotcha: holding onto the head
Gotcha: length checks
The Benefits of Laziness
Destructuring
Introduction
Sequences
Maps Part 1
Maps Part 2
Keyword Arguments
Where to Destructure
Nested Destructuring
Destructuring Examples
Concurrency
Delay
Promise
Future
Deref
Keeping state consistent with Atoms
Sharing state among many threads: Atoms
Ref
Vars
Agents
Locking
Core Async
Threads
ExecutorService
ForkJoin
Reducers
Protocols
What Problems do Clojure Protocols Solve?
How to define protocols
Protocols for Easy Type Conversion
Defining a DSL with Protocols
Building a Component Clone
Products
Course
B03 Clojure Language Basics
B03 Clojure Language Basics
B03 Clojure Language Basics
Buy now
Learn more
Variables and scope
Global Scope
Let and Function Argument Scope
Dynamic Scope
Scope problems diagnosed
Namespaces
Clojure Namespace Declarations
Navigating Namespaces at the REPL
Syntax
for comprehensions
Clojure Function Syntax
Collections
Introduction to Clojure's Collections
Data structures
Vector collection
HashMap collection
Set collection
List collection
Queue collection
Sorted Map collection
Sorted Set collection
Access patterns
Sequential Access Pattern
Remembering Duplicates Access Pattern
Lookup by key Access Pattern
Associate key and value Access Pattern
Dissociate a key and value Access Pattern
Count the elements Access Pattern
Equality Comparison Access Pattern
Removing an item from a set Access Pattern
Splitting a sequence Access Pattern
Containment Check Access Pattern
First-in, first-out Access Pattern
Last-in, First-out Access Pattern
Usage patterns
Entity Usage Pattern
Index Usage Pattern
Tuple Usage Pattern
Multi-comparison Usage Pattern
Transients
Usage in an Atom
Hybrid Collections
Hybrid Types
Vectors and Lists in syntax
Lazy sequences
Collections vs sequences
Lazy sequences
What are lazy sequences?
Gotcha: Effects and chunking
Gotcha: *print-length*
Gotcha: holding onto the head
Gotcha: length checks
The Benefits of Laziness
Destructuring
Introduction
Sequences
Maps Part 1
Maps Part 2
Keyword Arguments
Where to Destructure
Nested Destructuring
Destructuring Examples
Concurrency
Delay
Promise
Future
Deref
Keeping state consistent with Atoms
Sharing state among many threads: Atoms
Ref
Vars
Agents
Locking
Core Async
Threads
ExecutorService
ForkJoin
Reducers
Protocols
What Problems do Clojure Protocols Solve?
How to define protocols
Protocols for Easy Type Conversion
Defining a DSL with Protocols
Building a Component Clone
Learn more
Buy now
Variables and scope
4 Lessons
Global Scope
Let and Function Argument Scope
Dynamic Scope
Scope problems diagnosed
Namespaces
2 Lessons
Clojure Namespace Declarations
Navigating Namespaces at the REPL
Syntax
2 Lessons
for comprehensions
Clojure Function Syntax
Collections
34 Lessons
Introduction to Clojure's Collections
Data structures
Vector collection
HashMap collection
Set collection
List collection
Queue collection
Sorted Map collection
Sorted Set collection
Access patterns
Sequential Access Pattern
Remembering Duplicates Access Pattern
Lookup by key Access Pattern
Associate key and value Access Pattern
Dissociate a key and value Access Pattern
Count the elements Access Pattern
Equality Comparison Access Pattern
Removing an item from a set Access Pattern
Splitting a sequence Access Pattern
Containment Check Access Pattern
First-in, first-out Access Pattern
Last-in, First-out Access Pattern
Usage patterns
Entity Usage Pattern
Index Usage Pattern
Tuple Usage Pattern
Multi-comparison Usage Pattern
Transients
Usage in an Atom
Hybrid Collections
Hybrid Types
Vectors and Lists in syntax
Lazy sequences
Collections vs sequences
Lazy sequences
6 Lessons
What are lazy sequences?
Gotcha: Effects and chunking
Gotcha: *print-length*
Gotcha: holding onto the head
Gotcha: length checks
The Benefits of Laziness
Destructuring
8 Lessons
Introduction
Sequences
Maps Part 1
Maps Part 2
Keyword Arguments
Where to Destructure
Nested Destructuring
Destructuring Examples
Concurrency
15 Lessons
Delay
Promise
Future
Deref
Keeping state consistent with Atoms
Sharing state among many threads: Atoms
Ref
Vars
Agents
Locking
Core Async
Threads
ExecutorService
ForkJoin
Reducers
Protocols
5 Lessons
What Problems do Clojure Protocols Solve?
How to define protocols
Protocols for Easy Type Conversion
Defining a DSL with Protocols
Building a Component Clone