There are currently no items in your shopping cart.

User Panel

Forgot your password?.

Learning Path: Haskell: Functional Programming and Haskell

Video Introducing this tutorial

Chapter 1 : Fundamentals of Practical Haskell Programming
The Course Overview 00:04:10
Installing Stack on Windows 00:07:43
Installing Stack on Mac OS 00:06:33
Installing Stack on Linux 00:05:24
Problems FP and Haskell Can Address 00:06:30
The FP Way 00:10:55
The Haskell Way 00:09:08
Our First Haskell Programs 00:15:42
Whitespace, Layout, and Scoping 00:08:39
GHCi and Interactive Haskell 00:08:56
Debugging with GHCi 00:11:30
Values and Expressions 00:24:39
Types and Type Signatures 00:18:42
Algebraic Data Types 00:11:46
Type Classes 00:16:56
Pattern Matching 00:12:28

Chapter 2 : Learning Haskell Programming
The Course Overview 00:02:59
Installing Haskell 00:03:40
Installation Instructions for OS X 00:04:45
Installation Instructions for Windows 00:03:11
Installation Instructions for Linux 00:05:33
Discovering Haskell with ghci 00:13:03
Built-in Data Structures 00:10:32
Editing Haskell Source Code 00:06:25
Introduction to Functions 00:10:07
Building Your Own Data Structures 00:09:23
Pattern Matching 00:09:28
Creating a Project with Stack 00:11:51
Setting up the Word Game Grid 00:08:26
Searching for Words 00:19:39
Searching in All Directions 00:14:02
Unit Testing the Grid with Hspec 00:07:33
Grid Coordinates and Infinite Lists 00:20:44
Fleshing Out the Grid Model 00:23:38
Searching the Grid Recursively 00:22:21
Making the Game Playable 00:30:20
Some Final Polish 00:12:24

Chapter 3 : Mastering Haskell Programming
The Course Overview 00:05:30
Installation and Setup 00:04:40
IO as a “Sin Bin” 00:14:28
Exception Handling 00:09:25
Fewer Sins Using the Free Monad 00:14:35
Benign Side-Effects Using unsafePerformIO 00:06:34
Simple Streaming Using Lazy IO 00:08:51
Pure Streaming Using Lazy Lists 00:09:53
Composing Finite and Infinite Streams 00:10:14
Who's Driving? Push, Pull… or Both! 00:10:09
Transforming Effectful Streams Using the Free Monad 00:08:09
Events, Behaviors, and Signals 00:08:41
Local and Global States 00:09:46
Higher-Order Signals and Time Leaks 00:12:38
Pure, Monadic, and Arrowized APIs 00:13:08
Continuous, Synchronous, Total Time 00:12:20
Parallel and Concurrent Algorithms 00:11:36
Manual Parallelism Using the Free Applicative 00:11:07
Laziness and Parallelism 00:08:59
Purity and Parallelism 00:14:04
Deterministic Communication Using IVars 00:13:23
Deterministic Collaboration Using LVars 00:10:46
Manual Concurrency Using forkIO 00:04:42
Taming Asynchronous APIs Using ContT 00:12:10
Opportunistic Concurrency Using Async 00:05:01
Laziness and Concurrency 00:08:36
Manual Signaling Using MVars 00:09:48
Automatic Signaling Using TVars 00:12:50
Effect Tracking and Concurrency 00:10:38
Combinator Libraries 00:11:31
Monad Transformers 00:10:37
Nesting Architectures 00:09:16
Precise Types, Program Boundaries, and Microservices 00:10:45
Optimizing Microservice Requests Using Haxl 00:07:56
Distributed Concurrent Programming Using Cloud Haskell 00:08:43
CRDTs, Type Class Laws, and Eventual Consistency 00:12:54