Study Learn Grow
Mastering Haskell Programming

Mastering Haskell Programming


In this course, you’ll discover different ways to structure interactions between the program and the outside world.

Overview

Description
Harness the power of functional programming with advanced Haskell concepts

Haskell is a lazy, purely-functional programming language with a very precise type system. Each of these features make Haskell quite different from mainstream object-oriented programming languages, which is where Haskell's appeal and its difficulty lie.

In this course, you’ll discover different ways to structure interactions between the program and the outside world. We’ll look at some subtler aspects of the IO monad, such as lazy IO and unsafePerformIO. In addition to the IO monad, we’ll also check out two other structured forms of interaction: streaming libraries and functional reactive programming.

Then we explore parallel, concurrent, and distributed programming. Thanks to purity, Haskell is especially well-suited for the first two, and so there are a number of approaches to cover. As for distributed programming, we focus on the idea of splitting a large monolithic program into smaller microservices, asking whether doing so is a good idea. We’ll also consider a different way of interacting with other microservices, and explore an alternative to microservices.

By the end of this course, you’ll have an in-depth knowledge of various aspects of Haskell, allowing you to make the most of functional programming in Haskell.

About the Author

Samuel Gélineau is a Haskell developer with more than 10 years of experience in Haskell Programming. He has been blogging about Haskell for about the same time. He has given many talks at Montreal’s Haskell Meetup, and is now co-organizer. Samuel is a big fan of functional programming, and spends an enormous amount of time answering Haskell questions on the Haskell subreddit, and as a result has a good idea of the kind of questions people have about Haskell, and has learned how to answer those questions clearly, even when the details are complicated. Apart from Haskell, he is a fan of Elm, Agda, and Idris, and also Rust.

Course Information

This course is for developers who are familiar with the Haskell programming language and functional programming in general, and who want to get more in-depth knowledge of the language as well as getting to know a number of techniques that will help them become experts in Haskell programming

Find out how to structure larger Haskell programs
Use the Parsec library to easily parse structured inputs
Get acquainted with the process of writing an interpreter, a type checker, and a compiler
See how to model your problem domain with precise types and how to reap the benefits of doing so
Work with Deterministic Communication using IVars and Deterministic Collaboration using LVars
Understand how to do concurrent and distributed programming in Haskell
Know how to cope with the uncertainties of communication in a distributed application

This course includes in-depth content balanced with tutorials that put theory into practice. It will give you both an understanding and practical experience, enabling you to indulge in the art of functional programming with Haskell while taking you through core concepts.
This course is for developers who are familiar with the Haskell programming language and functional programming in general, and who want to get more in-depth knowledge of the language as well as getting to know a number of techniques that will help them become experts in Haskell programming.

• Lifetime Access to Each Course
• Certificate on Completion of Course
• No Extra Charges Or Admin Fees
• Easy Access to Courses
• High Priority Support After Sales.
• Big Discounts on Individual Courses

Course Specifications

IT and Computing courses are available to study on our learning platform. 

See All Courses

Adult education is the non-credential activity of gaining skills and improved education. 

See All Courses

Online education is electronically supported learning that relies on the Internet for teacher/student interaction. 

See All Courses

A short course is a learning programme that gives you combined content or specific skills training in a short period of time. Short courses often lean towards the more practical side of things and have less theory than a university course – this gives you a more hands-on experience within your field of interest.

See All Courses

Course duration is 24 hours.

See All Courses

Study Learn Grow

Related Jobs