in beta · early-access plekken vrij
Home/Vakken/Functional Programming
CSE31005 ECTSQ3EngelsBachelor

Functional Programming

FaculteitElektrotechniek, Wiskunde en Informatica
NiveauBachelor
Studiejaar2025-2026

Beschrijving

Functional programming is a style of programming where programs are constructed by defining and applying functions. In pure functional code, the output of a function only depends on the value of its arguments, so the same expression always produces the same result. This is in sharp contrast to imperative and object-oriented languages, where every statement can have side effects that influence the results of other statements.

Apart from the absence of side-effects, another important feature of most functional programming languages are their powerful type systems. By modeling the different classes of data used in a program, types can be used to structure programs and detect many common errors that would otherwise go unnoticed. Certain languages with so-called dependent type systems can even specify any imaginable functional property in the type of a program, guaranteeing that the program works as it is supposed to before it is ever executed.

Why study functional programming?

  • Functional programming allows you to model the real world at a high level of abstraction in order to develop software that is clear, concise, and correct.

  • By learning functional programming, you will also learn new ways to think about programs that make you a better programmer in any programming language.

  • Functional programming languages are becoming increasingly commonplace, and other mainstream languages are integrating more functional features (lambdas, higher-order functions, pattern matching, immutable data, ...)

  • Pure functional programming makes it easy to reason about program correctness by using techniques such as equational reasoning, property-based testing, and formal verification.

  • Static typing and immutability allow you to quickly change and refactor an existing program with confidence that the result is correct.

  • Functional programming languages such as Haskell and Agda include many recent developments from the research on programming languages, which usually take 10 to 30 years to make their way into mainstream languages. By learning them you will get an idea how the future of programming languages might look like.

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