Functional languages
Learn pure functional programming, types, and declarative problem solving.
main :: IO ()
main = putStrLn "Hello from Haskell"COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how ghc, modules, and pure evaluation works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how expressions, application, and layout works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how bindings, scope, and immutability works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how algebraic data types and type inference works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, sections, and function composition works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how guards, case expressions, and pattern matching works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how recursion, folds, and list comprehensions works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how functions, currying, and higher-order behavior works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how lists, maps, sets, and persistent data works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how text, bytestrings, and parsing works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how maybe, either, and explicit failure works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how modules, packages, cabal, and stack works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how type classes, functors, and monads works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, io actions, and concurrency works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how property testing with generated data works in Haskell, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.