Important announcement

Dear visitor,

Please note that this OpenCourseWare platform will be replaced at the end of 2026 by a new platform (under the same url ocw.tudelft.nl).

Courses and their contents that are currently available the platform will partly be migrated. URL’s for this content will change and content might be unavailable for some time. In addition, some courses will not be available anymore.

If you are linking to specific courses on this platform (for instance for your students), please take timely measures to avoid problems with access. Possible actions are:

  • Download the materials to your local platform (laptop, server)
  • For educators only (including TU Delft lecturers): Contact us at ocw@tudelft.nl and inform us what course you are using in what context (institute, program, period of use, number of students). We will research (in collaboration with the authors of the course) and decide if we will migrate the course, and if yes, can supply you with a new url.

Thank you.

Functional Parsers and Monads

Course subject(s) Module 07. Functional Parsers and Monads

No one can follow the path towards mastering functional programming without writing their own parser combinator library. We start by explaining what parsers are and how they can naturally be viewed as side-effecting functions. Next we define a number of basic parsers and higher-order functions for combining parsers.

Note: The full version of the code presented in this lecture can be found at this link.

Monads

In the previous videos we have mentioned the fact that a Parser is actually an instance of a Monad.

Graham Hutton provides a clear and comprehensive explanation of Monads and their power at this link. You are supposed to read this and then proceed to the exercises.

Warning: reading and understanding this document is necessary in order to succesfully complete the exercises in this and the following chapters. In the EULA we will double check that you really did read this additional material.

Creative Commons License
Introduction to Functional Programming by TU Delft OpenCourseWare is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://ocw.tudelft.nl/courses/introduction-to-functional-programming/.
Back to top
[sg_popup id=6]