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, harga-asik.com 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, harga-asik.blogspot.com, Nils Anders Danielsson, and Andreas Abel.
Agda users and implementors meet biannually for a week of talks and code sprints.
- The next meeting, AIMXX, will be held 16–22 October 2014 in Tallinn. Please contact James Chapman for more information.
- Past Agda Meetings
- (2014–08–29) Standard library 0.8.1 is now available.
- (2014–08–29) Agda 2.4.2 is now available.
- (2014–07–29) Agda 220.127.116.11 is now available.
- (2014–06–20) Agda 18.104.22.168 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).