Software developed by the TU Delft Programming Languages group.

Language Engineering

  • Spoofax: a language workbench providing an IDE for the development of language definitions and the automatic generation of IDEs for defined languages
  • SDF3: a modular formalism for syntax definition that integrates lexical and context-free syntax.
  • Stratego: a language for the specification of program transformation systems based on the paradigm of rewriting strategies.
  • NaBL2: a constraint-based language for definition of type systems
  • Statix: a newer constraint-based language for definition of type systems
  • FlowSpec: a language for specification of data-flow analysis

Build Systems

  • PIE: Pipelines for Interactive Environments

Proof assistants


  • Agda: A dependently typed programming language and proof assistant
  • Agda2Hs: Translating reasonable Agda to readable Haskell


  • UniMath: This Coq library aims to formalize a substantial body of mathematics using the univalent point of view
  • Agda Generics: A library for datatype-generic programming in Agda

Verification tools for concurrency

  • Fency: A LLVM compiler pass for enforcing robustness of concurrent programs
  • Lasagne: A static binary translator for weak memory architectures

Web Programming

  • WebDSL: a web programming language
  • IceDust: A language for data modeling and incremental computing of derived values

Applications built with WebDSL

Software Deployment

  • Nix: a package management system
  • NixOS: Linux distribution based on Nix
  • Hydra: buildfarm based on Nix