Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Advanced Scala 3 and Functional Programming
Introduction
Welcome (9:51)
A Taste of Advanced Scala
Scala Recap (30:46)
Dark Syntax Sugars (27:11)
Advanced Pattern Matching (25:49)
Advanced Functional Programming
Partial Functions (14:41)
Functional Collections: A Functional Set (20:16)
The Functional Set, Level 2 (28:17)
Functional Collections (8:55)
Currying and Partially Applied Functions (30:42)
Lazy Evaluation (16:48)
Lazy Evaluation Practice: A Potentially Infinite List (25:43)
Lazy Lists Proficiency: Exercises (29:25)
Monads (22:52)
Monads: Exercises (22:46)
Functional Concurrent Programming
Parallel Programming on the JVM (15:46)
Concurrency Problems on the JVM (29:08)
JVM Thread Communication, the Producer-Consumer Problem (17:49)
Producer-Consumer, Level 2 (17:18)
Producer-Consumer, Level 3 + Exercises (24:57)
Futures: Introduction (13:31)
Futures: Functional Composition (27:37)
Futures: Awaiting (10:28)
Futures and Promises (7:43)
Futures: Exercises (22:55)
Parallel Collections (23:13)
Contextual Abstractions
Given Instances & Using Clauses (26:26)
Given & Using: Exercises (9:26)
Extension Methods (26:51)
Organizing Contextual Abstractions (26:29)
Type Classes (24:36)
Type Classes End-to-End Example: JSON Serialization (31:07)
Context Functions (9:26)
Implicit Conversions (6:29)
Legacy (Scala 2) Contextual Abstractions: Implicits (15:10)
Mastering the Type System
Advanced Inheritance (18:49)
Variance (25:05)
Variance Positions (28:47)
Type Members (10:37)
Path-Dependent Types (13:22)
Opaque Type Aliases (12:05)
Literal, Union and Intersection Types (24:45)
Self-Types (19:00)
F-Bounded Polymorphism (15:09)
Structural Types (11:12)
Higher-Kinded Types (32:02)
Epilogue
You Rock! (0:41)
Variance Positions
Content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock