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
Section
Lesson
Hybrid Types
Hybrid Types
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
Lesson unavailable
Please
login to your account
or
buy the course
.