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. It also has parametrised modules, mixfix operators, Unicode characters, and an interactive Emacs interface which can assist the programmer in writing the program.
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 has many similarities with other proof assistants based on dependent types, such as Coq, Epigram, Matita and NuPRL.
Agda is open-source and enjoys contributions from many authors. The center of the Agda development is the Programming Logic group at Chalmers and Gothenburg University. The main developers are Ulf Norell, Nils Anders Danielsson, Jesper Cockx, and Andreas Abel.
- Install Agda on your own PC or try out Agda in the browser with the Agda Pad.
- Get your feet wet with A Taste of Agda.
- Read one of the language tutorials.
- Ask any questions on the Agda mailing list or on the Agda Zulip server.
- Manuals and howtos
- Standard library
- Other libraries and developments
- Bug tracker