๐Ÿ“š 17 Learning Modules ยท 118 Exercises

Choose Your Learning Path

Master functional programming through topic-based learning paths. Start with foundations, build on data structures, learn type classes, and progress to advanced patterns.

๐ŸŽฏ

Start with Foundations

Learn composition (Pipe/Flow) and error handling (Option/Either)

๐Ÿ“Š

Master Data & Type Classes

Work with collections and algebraic structures

๐Ÿš€

Apply to Real-World

Async operations and production patterns

๐ŸŽฏ Core Foundations

Start here! Learn function composition and error handling - the building blocks of fp-ts.

4 modulesโ†’Pipe โ†’ Flow โ†’ Option โ†’ Either
Available
โšก

Either

Handle computations that might fail with explicit error handling

๐Ÿ“8 exercises
โญBeginner Friendly
Available
๐ŸŒŠ

Flow

Create reusable function pipelines with flow

๐Ÿ“5 exercises
โญBeginner Friendly
Available
๐Ÿ›ก๏ธ

Option

Handle nullable values safely without null/undefined errors

๐Ÿ“10 exercises
โญBeginner Friendly
Available
๐Ÿ”—

Pipe

Compose functions elegantly with pipe operator

๐Ÿ“5 exercises
โญBeginner Friendly

๐Ÿ“Š Working with Data

Apply functional patterns to collections and objects.

3 modulesโ†’Build on foundations with real data structures
Available
๐Ÿ“Š

Array

Master functional array operations and data transformations

๐Ÿ“10 exercises
โญBeginner Friendly
Available
๐Ÿ“ฆ

NonEmptyArray

Type-safe arrays with guaranteed at least one element

๐Ÿ“6 exercises
โญIntermediate
Available
๐Ÿ“

Record

Work with objects and dictionaries functionally

๐Ÿ“8 exercises
โญBeginner Friendly

๐Ÿงฎ Type Classes

Learn algebraic structures for combining, ordering, and validating data.

4 modulesโ†’Semigroup โ†’ Monoid โ†’ Validation
Available
โšช

Monoid

Semigroup with identity - handle empty cases elegantly

๐Ÿ“4 exercises
โญIntermediate
Available
๐Ÿ”ข

Ord

Custom ordering and comparison for any type

๐Ÿ“6 exercises
โญIntermediate
Available
๐Ÿ”—

Semigroup

Combine values systematically with the concat operation

๐Ÿ“4 exercises
โญIntermediate
Available
โœ…

Validation

Accumulate all errors instead of failing fast

๐Ÿ“7 exercises
โญIntermediate

โšก Async Operations

Handle asynchronous work with type-safe error handling.

2 modulesโ†’Essential for API calls and real-world apps
Available
โฑ๏ธ

Task

Lazy async computations that always succeed

๐Ÿ“6 exercises
โญIntermediate
Available
โš™๏ธ

TaskEither

Async operations with error handling for real-world apps

๐Ÿ“10 exercises
โญIntermediate

๐Ÿš€ Advanced Patterns

Production-ready patterns for dependency injection, side effects, and complex scenarios.

4 modulesโ†’Put everything together
Available
๐Ÿ’พ

IO/IOEither

Synchronous side effects with type safety

๐Ÿ“7 exercises
โญAdvanced
Available
๐Ÿ”Œ

Reader

Dependency injection without global state

๐Ÿ“8 exercises
โญAdvanced
Available
๐ŸŽฏ

ReaderTaskEither

The ultimate composition: DI + async + error handling

๐Ÿ“8 exercises
โญAdvanced
Available
โš–๏ธ

These

Inclusive-or: represent "this", "that", or "both"

๐Ÿ“6 exercises
โญAdvanced