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, and Andreas Abel.
Agda users and implementors meet biannually for a week of talks and code sprints.
- The next Agda meeting, AIM XXIII, will be held at the University of Strathclyde, Glasgow in Spring 2016.
- Past Agda Meetings
Special issue on Dependently Typed Programming
Peter Dybjer and Wouter Swierstra are editing a special issue on Dependently Typed Programming for JFP with deadline 11 January 2016. Papers on Agda are highly welcome!
- (2015–10–28) The standard library 0.11 is now available.
- (2015–09–26) Agda 126.96.36.199 is now available.
- (2015–09–25) The standard library 0.10 is now available.
- (2015–05–25) Agda 188.8.131.52 is now available.
- (2014–11–26) Agda 184.108.40.206 is now available.
- (2014–11–14) The standard library 0.9 is now available.
- (2014–11–14) Agda 220.127.116.11 is now available.
- (2014–08–29) The standard library 0.8.1 is now available.
- (2014–08–29) Agda 2.4.2 is now available.
- (2014–07–29) Agda 18.104.22.168 is now available.
- (2014–06–20) Agda 22.214.171.124 is now available.
- Language tutorials.
- Quick guide to editing, type checking and compiling Agda code.
- Community: mailing list and IRC channel. Don’t hesitate to ask questions!
Documentation and examples
- Manuals and howtos.
- Standard library, and other libraries and developments (all Agda users are strongly encouraged to add their own developments to make them available to the community).