Agda is a dependently typed functional programming language. It has inductive families, i.e., data types which depend on values, such as the type of vectors of a given length, and dependent pattern matching on such types. It also has parametrised modules, mixfix operators, Unicode characters, and an interactive mode which can assist the programmer in writing the program. It shares many features with other purely functional programming languages, such as Haskell and Idris.

Agda is a proof assistant. It is an interactive system for writing and checking proofs. Agda is based on intuitionistic type theory, a foundational system for constructive mathematics developed by the Swedish logician Per Martin-Löf. It supports proof automation and writing tactics through its reflection API. It has many similarities with other proof assistants based on dependent types, such as Rocq, Lean, and F*.

Agda is open-source and enjoys contributions from many authors. Agda 2 was originally written by Ulf Norell and is currently actively developed mainly by Andreas Abel, Nathaniel Burke, Lawrence Chonavel, Jesper Cockx, Nils Anders Danielsson, and András Kovács.

Latest releases

Getting started

Agda libraries

Agda meetings

Page last modified on October 25, 2026, at 03:56 pm
Powered by PmWiki