Program Description Based Programming


Like FP

  • PDBP promotes a pointfree functional programming style

Unlike FP

  • PDBP separates the description of a program from possible meanings of the program
  • PDBP can be extended with extra programming capabilities
  • PDBP effects are pure (they are described rather than executed)


The foundations of the library are monads (generalizing expressions) and arrows (generalizing functions).

Monads promote a pointful programming style. Arrows promote a pointfree programming style.

PDBP offers

  • a monad based computation API for library developers
  • an arrow based programming API for application developers

Using Dotty it is possible to flavor the programming API with convenient programming DSL syntax.

Luc Duponcheel

Luc Duponcheel


Luc is a Functional Programming Veteran. He has a Phd in Mathematics.

He has been a Trainer and Consultant for Java and Scala related projects.

Luc has worked, among others, with Erik Meijer and Mark P. Jones on Monads.

His PDBP library is part of the Dotty community build. Moreover he is a passionate cyclist and gardener.