0:08Skip to 0 minutes and 8 secondsWIM: Hi, and welcome to week four of our Haskell course. And this week we have two topics. First, we will look at some more advanced patterns of computation based on using functions as values. As an example we will look at parsing. Parsing is the process of analyzing text of a natural language or programming language according to the rules of the formal grammar. You will learn to use parsec. This is a Haskell library built out of what is called monadic parser combinators. And this might sound very complicated, but it's really just a way of combining tiny building blocks into very powerful parts. The other topic of week four is program structure.

0:49Skip to 0 minutes and 49 secondsWhen you start building more complicated programs, then you have to start thinking a bit more carefully about how you structure your program. We will first look at a program scope. And scoping is the real key feature that you use to create modular programs. And then we will look at conditionals. You have already learned the if-then-else conditional, but sometimes that's not really the best way to structure your program with conditional expressions, and therefore Haskell provides you with a large number of alternatives, and we will visit all of them. Hope you like this week and see you soon.

Welcome to Week 4

Until now, most of our Haskell programs have been fairly small. This week, we will focus on techniques for developing larger, non-trivial programs.

We will explore various ways to structure programs in Haskell, ideally to make the code more readable. We present an example text parser that uses the Parsec library. Finally we will advocate the use of automated testing with the QuickCheck tool

We’re curious. What’s the biggest or most complex program you have worked on, in any language? Do tell us about your experiences with large codebases in the comments.