Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Master Haskell from Scratch- A Basic to Advanced Course
Rating: 3.7 out of 5(2 ratings)
26 students

Master Haskell from Scratch- A Basic to Advanced Course

Get expertise of programming in Haskell
Created byAnurag Kaushik
Last updated 7/2025
English
English [Auto],

What you'll learn

  • Haskell
  • Haskell vs Python
  • Haskell Modules
  • Zippers in Haskell
  • Monads and Functor in Haskell

Course content

4 sections33 lectures6h 9m total length
  • Introduction to the Course2:29

    Explore Haskell, a static language with an expressive type system and non-strict evaluation, and practice problem solving through types, polymorphism, type signatures, type classes, word game project, and ghci.

  • Problems FP and Haskell can Address5:36

    Explore how functional programming and programming languages address reliability, tractability, and composability, and how Haskell offers a new perspective for building robust, concurrent and parallel software.

  • Installing Haskell on Linux3:01

    Install Haskell on Ubuntu Linux using stack to obtain the Haskell toolchain. Configure stack, install GHC, and run simple expressions with stack GHC.

  • Functional Programming9:45

    Explore functional programming fundamentals, comparing PHP to imperative paradigms, and learn pure functions, referential transparency, and higher-order functions using map, fold, filter, and composition.

  • Introduction to Haskell2:53

    Explore Haskell, a purely functional language designed for symbolic computation and list processing, highlighting laziness, modularity, static typing, and its support for concurrency.

  • Haskell vs Python4:41

    Compare Haskell and Python on functional versus procedural paradigms, static versus dynamic typing, and features like parametric and ad hoc polymorphism, type classes, speed, and libraries.

  • Basic Data Models9:42

    Explore basic data models in Haskell, including numbers, characters, strings, booleans, lists and tuples, and learn list comprehension and immutability concepts.

  • First Haskell Programs15:47

    Explore your first Haskell programs with hello world, ghci interactions, and do notation, while examining types, semantics, and essential tools like stack, ghc, and the prelude.

  • Whitespace Layout and Scoping9:42

    Explore whitespace, braces, and lexical scoping in Haskell, and learn how indentation and layout influence let bindings, case expressions, and top-level names.

Requirements

  • Basics of Programming
  • Basics of Functional Programming Language

Description

This course is about Haskell. Haskell is a strong, statically typed language with a very expressive type system. It also has non- strict evaluation, and it has a very unique approach to problem-solving. This course is going to emphasize using Haskell for practical problem-solving.

This course consists of several topics, in three sections. In the first topic, we'll talk about problems that FP and Haskell can address. Then we'll talk about the functional programming-specific ways of approaching these problems.

Then we'll talk about how Haskell specifically addresses these types of problems. Then we'll take a look at our first Haskell programs and start to begin an intuition for what they look like. And we'll dig deeper into some issues related to whitespace and layout.

Then we'll use the Glasgow Haskell Compiler's read-evaluate-print loop, known as GHCi, to explore our Haskell programs' values and types and expressions.

Then we'll learn to debug with GHCi. Moving on, we'll dig deeper, and we'll start to look at Haskell values and expressions, and specifically functions as values. We'll build an intuition for some of the core concepts.

Then we'll look at types, polymorphism constraints, and how we can add type signatures to our values. And we're looking to sum up product types in Haskell's record syntax. At that point, we'll know enough to tackle type classes, and we'll learn how to make our own instances of existing type classes and how to build our own type classes. Finally, to cap it all off, we'll learn how to extract values from our algebraic data types. At the end of this course, you will have a practical working knowledge of Haskell, enough to start writing your own program.

You'll also know how Haskell can help us solve problems in its particular approach to software engineering. And then, you'll also have knowledge of values, expressions and types in Haskell.

Who this course is for:

  • Students
  • Programmers
  • Learners