#IT-04-23 Functional Programming in Haskell: Supercharge Your Coding
About Course
The University of GlasgowDescription
Do you want to develop software using the latest programming language paradigm? Haskell is a functional programming language, based on formal mathematical principles. As such, it is easy to reason about and develop, and it executes efficiently on modern multicore machines. From investment banks to social networks, everyone is adopting Haskell.
Get an introduction to functional programming in Haskell
On this introductory course, you will discover the power, elegance and simplicity of functional programming in Haskell. By the end, you will be able to:
- characterise the differences between imperative and functional programming paradigms;
- implement small-scale functional programs in elementary Haskell;
- apply standard combinators for operating on lists;
- create new algebraic data types and use recursion to define functions that traverse recursive types; and reason in a mathematical manner about data types, functions, recursion and similar functional constructs.
Learn with developers from the birthplace of Haskell
This course has been created by the School of Computing Science at the University of Glasgow – the virtual birthplace of the Haskell language, where many of its original developers worked. It will give you the opportunity to learn with these experts and join the growing, global community of Haskell programmers.
Who will you learn with?
Professor in Computing Science at the University of Glasgow. I program mainly in Haskell, C++ and Perl and love parallel and heterogeneous programming.
I am a lecturer in Computing Science at the University of Glasgow. I am moderately fluent in the following languages: Haskell, Java, C, Scouse and New Testament Greek.
I am a Research Associate at the University of Glasgow. I specialise in Type-Driven Development of Communicating Systems using the dependently typed language Idris. I also use Haskell, Java, & Python.
What Will I Learn?
- Develop simple programs involving basic Haskell techniques, including pure function definitions
- Produce definitions of algebraic data types and apply recursion to define functions that traverse such types
- Interpret data structures and function interfaces using types
- Apply formal methods to prove properties of functional programs
- Develop, modify, and explore code using standard Haskell platform tools
- Justify why a program uses common standard monads (including IO and Maybe)
- Explore standard combinators for operating on lists
Topics for this course
Haskell Basics: Expressions and Equations
Basic Elements By Example00:04:01
Introduction to Expressions and Equations
Summary
Haskell Basics: Reduction, Functions and Lists
Finding Out More
I'm very pleased with the course. As a Haskell-newbie, I found it very useful.
The content provides an advanced understanding of Haskell in a succinct yet lucid manner.
The content provides an advanced understanding of Haskell in a succinct yet lucid manner.
I have experimented with Haskell, but the explanation is very good and clears some of the mis understood fundamentals of Haskell.