Books & Videos

Table of Contents

Chapter: Tracking Side-Effects Using IO

The Course Overview

05m 29s

Installation and Setup

04m 39s

IO as a "Sin Bin"

14m 27s

Exception Handling

09m 25s

Fewer Sins Using the Free Monad

14m 34s

Benign Side-Effects Using unsafePerformIO

06m 34s

Simple Streaming Using Lazy IO

08m 51s

Chapter: Chaining Side-Effects Using Streaming

Pure Streaming Using Lazy Lists

09m 53s

Composing Finite and Infinite Streams

10m 14s

Who's Driving? Push, Pull… or Both!

10m 8s

Transforming Effectful Streams Using the Free Monad

08m 8s

Chapter: Interactive Applications Using Functional Reactive Programming

Events, Behaviors, and Signals

08m 41s

Local and Global States

09m 45s

Higher-Order Signals and Time Leaks

12m 38s

Pure, Monadic, and Arrowized APIs

13m 8s

Continuous, Synchronous, Total Time

12m 20s

Chapter: Parallel Programming in Haskell

Parallel and Concurrent Algorithms

11m 36s

Manual Parallelism Using the Free Applicative

11m 7s

Laziness and Parallelism

08m 59s

Purity and Parallelism

14m 4s

Deterministic Communication Using IVars

13m 22s

Deterministic Collaboration Using LVars

10m 46s

Chapter: Concurrent Programming in Haskell

Manual Concurrency Using forkIO

04m 41s

Taming Asynchronous APIs Using ContT

12m 9s

Opportunistic Concurrency Using Async

05m 0s

Laziness and Concurrency

08m 35s

Manual Signaling Using MVars

09m 48s

Automatic Signaling Using TVars

12m 50s

Effect Tracking and Concurrency

10m 38s

Chapter: Distributed Programming in Haskell

Combinator Libraries

11m 31s

Monad Transformers

10m 36s

Nesting Architectures

09m 16s

Precise Types, Program Boundaries, and Microservices

10m 45s

Optimizing Microservice Requests Using Haxl

07m 56s

Distributed Concurrent Programming Using Cloud Haskell

08m 43s

CRDTs, Type Class Laws, and Eventual Consistency

12m 53s