Home/Vakken/Advanced Functional Programming
CS45655 ECTSQ4EngelsMaster

Advanced Functional Programming

FaculteitElektrotechniek, Wiskunde en Informatica
NiveauMaster
Studiejaar2025-2026

Beschrijving

The goal of functional programming is to write software that is efficient, scalable, and robust, all while maintaining a high level of abstraction. In this course we will investigate a number of techniques and language features that have been developed to apply functional programming to large-scale software projects. Concretely, we will discuss and apply the following topics:

  • Efficiency of functional programs: purely functional data structures, controlling lazy evaluation, persistence and amortization, parallel and concurrent functional programming.

  • Scalability of functional programs: monad transformers, free monads, and effect systems, lenses and optics, embedded domain-specific languages, generic programming.

  • Robustness of functional programs: type-level programming, generalized algebraic datatypes, refinement types, security types.

In the course project, you will apply these concepts and techniques to implement a type checker for a small language with an advanced type system, such as a dependent type system or an ownership type system.

Toetsing

The final grade of the course consists of the following components:

  • Homework Assignments (weighting 30%)

  • Programming Project (weighting 70%)

Final grade calculation = 0.3 * Homework Assignments + 0.7 * Programming Project

A passing final grade for the course can only be earned when for all components at least a 5.0 is earned, and the weighted final grade is at least a 5.8.

In case of an insufficient final result, repair options may exist in accordance with Article 17A, Times and number of examinations, sub 1, of the Teaching and Examination Regulations, for:

  • Homework Assignments: Repair opportunity

  • Programming Project: Repair opportunity

Disclaimer: information may change depending on unforeseen circumstances or measures (see: TER Art 2, sub 5).

Reviews0 reviews

Nog geen reviews voor dit vak. Wees de eerste!

Heb jij dit vak gevolgd?

Deel je ervaring met toekomstige studenten. Inloggen met je TU Delft mailadres duurt één minuut.

Schrijf een review