Mastering Haskell Programming

  • 3
6 hours on-demand video
$ 12.99

Brief Introduction

Harness the power of functional programming with advanced Haskell concepts

Description

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.

Requirements

  • Requirements
  • Students who already know how to write basic Haskell programs can follow this course to expand their toolbox with a variety of techniques for writing programs in a way which eliminates entire classes of bugs, such as deadlocks, merge conflicts, race conditions, and "time leaks".
  • This course has the following software requirements:
  • You'll need the Glasgow Haskell Compiler, which is available for Mac/Windows/Linux. Please install it via stack in order to ensure you use the same version as the one which was used to create the slides.
  • Optionally, to use git-slides to navigate the slides more easily to and to run the scripts which automatically run the code as it appears like it does in the video, you'll need Bash.
  • This course has been tested on the following system configuration: 2014 laptop with OS X Yosemite
$ 12.99
English
Available now
6 hours on-demand video
Packt Publishing
Udemy

Instructor

Packt Publishing

  • 3 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses