Functional programming is a problem-solving paradigm that differs drastically from the imperative programming style of languages like C++ or Java. While functional programming principles have invaded most modern programming languages to some degree, there is no language that embraces this paradigm quite as Haskell does. As a result, Haskell code can reach a level of expressiveness, safety, and elegance that is difficult to achieve in other programming languages.
This course will introduce you to the core concepts of functional programming in Haskell. You will learn how to write pure functions using techniques such as pattern matching and recursion, and how to work with Haskell's powerful List data type. You will understand the basics of Haskell's powerful type system and define your own data types. Finally, you’ll learn how to perform IO operations the Haskell way. By the end of this course, you’ll have a new paradigm to add under your belt and you can start using functional programming in your own projects.
Functional programming is a problem-solving paradigm that differs drastically from the imperative programming style of languages...Show More
WHAT YOU'LL LEARN
Write functions using recursion.
Work with higher order functions.
Write functions on lists.
Create custom data types.
Handle IO operations.
Write functions using recursion.
Show more
Content
1.
Introduction
2 Lessons
Get familiar with Haskell's pure functional programming, type safety, and abstraction benefits.
2.
First Steps with Haskell
12 Lessons
Unpack the core of Haskell's basics, including numeric types, functions, pattern matching, and currying.
3.
Techniques for Writing Functions
11 Lessons
Master the steps to enhance Haskell functional writing through recursion, lazy evaluation, and higher-order functions.
4.
Working with Lists
8 Lessons
Build a foundation in Haskell lists, recursive functions, and higher-order functions.
5.
Creating Data Types
7 Lessons
Dig deeper into creating and managing Haskell custom data types, classes, and polymorphic types.
6.
Input and Output
4 Lessons
See how Haskell handles IO, do-notation, and file reading while solving mazes.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
Evan Dunbar
ML Engineer
"You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it."
Software Developer
Carlos Matias La Borde
"I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site"
Souvik Kundu
Front-end Developer
"Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources