Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Haskell for Imperative Programmers

via YouTube

Overview

Dive into a comprehensive 12-hour video course designed for programmers familiar with imperative languages to learn Haskell, a purely functional programming language. Begin with the basics and progress through advanced topics including functions, recursion, higher-order functions, datatypes, typeclasses, monads, concurrency, parallelism, and formal verification. Explore key concepts such as list manipulation, partial function application, currying, and function composition. Gain hands-on experience with exercises in list folding and advanced problem-solving. Delve into practical aspects like compiling binaries, handling exceptions, and using software transactional memory. Discover theoretical foundations in category theory and learn to apply tools like QuickCheck and QuickSpec. Conclude with an introduction to Cabal, Haskell's package manager and build system.

Syllabus

Haskell for Imperative Programmers #1 - Basics.
Haskell for Imperative Programmers #2 - Functions, Types, let & where.
Haskell for Imperative Programmers #3 - Recursion, Guards, Patterns.
Haskell for Imperative Programmers #4 - Lists and Tuples.
Haskell for Imperative Programmers #5 - List Exercises.
Haskell for Imperative Programmers #6 - Higher Order Functions & Anonymous Functions.
Haskell for Imperative Programmers #7 - Partial Function Application & Currying.
Haskell for Imperative Programmers #8 - Function Composition.
Haskell for Imperative Programmers #9 - Folding (foldr, foldl).
Haskell for Imperative Programmers #10 - Datatypes.
Haskell for Imperative Programmers #11 - Folding Exercises.
Haskell for Imperative Programmers #12 - Records.
Haskell for Imperative Programmers #13 - Typeclasses.
Haskell for Imperative Programmers #14 - Maybe.
Haskell for Imperative Programmers #15 - IO.
Haskell for Imperative Programmers #16 - Type inference.
Haskell for Imperative Programmers #17 - Monads.
Haskell for Imperative Programmers #18 - QuickCheck.
Haskell for Imperative Programmers #19 - Infinite Lists.
Haskell for Imperative Programmers #20 - Advanced Exercises.
Haskell for Imperative Programmers #21 - data, type & newtype.
Haskell for Imperative Programmers #22 - Either.
Haskell for Imperative Programmers #23 - Modules.
Haskell for Imperative Programmers #24 - Environment.
Haskell for Imperative Programmers #25 - Compiling Binaries.
Haskell for Imperative Programmers #26 - Strictness, Thunks & seq.
Haskell for Imperative Programmers #27 - Exceptions.
Haskell for Imperative Programmers #28 - Concurrency & Threads.
Haskell for Imperative Programmers #29 - Semaphores (QSem, QSemN).
Haskell for Imperative Programmers #30 - Software Transactional Memory (STM).
Haskell for Imperative Programmers #31 - Weak Head Normal Form.
Haskell for Imperative Programmers #32 - DeepSeq.
Haskell for Imperative Programmers #33 - Parallelism.
Haskell for Imperative Programmers #34 - Profiling.
Haskell for Imperative Programmers #35 - Semigroup & Monoid.
Haskell for Imperative Programmers #36 - Category Theory (Functors, Applicatives, Monads).
Haskell for Imperative Programmers #37 - Arrows.
Haskell for Imperative Programmers #38 - Monad Transformers.
Haskell for Imperative Programmers #39 - Induction Proofs.
Haskell for Imperative Programmers #40 - Termination Proofs.
Haskell for Imperative Programmers #41 - Formal Verification (using Isabelle).
Haskell for Imperative Programmers #42 - QuickSpec.
Haskell for Imperative Programmers #43 - Cabal.

Taught by

Philipp Hagenlocher

Reviews

Start your review of Haskell for Imperative Programmers

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.