Agda (programming language)

Agda is a dependently typed functional programming language originally developed by Ulf Norell at Chalmers University of Technology with implementation described in his PhD thesis. The original Agda system was developed at Chalmers by Catarina Coquand in 1999. The current version, originally known as Agda 2, is a full rewrite, which should be considered a new language that shares a name and tradition.

Agda
ParadigmFunctional
Designed byUlf Norell; Catarina Coquand (1.0)
DeveloperUlf Norell; Catarina Coquand (1.0)
First appeared2007 (2007) (1.0 in 1999 (1999))
Stable release
2.6.3 / January 30, 2023 (2023-01-30)
Typing disciplinestrong, static, dependent, nominal, manifest, inferred
Implementation languageHaskell
OSCross-platform
LicenseBSD-like
Filename extensions.agda, .lagda, .lagda.md, .lagda.rst, .lagda.tex
Websitewiki.portal.chalmers.se/agda
Influenced by
Coq, Epigram, Haskell
Influenced
Idris

Agda is also a proof assistant based on the propositions-as-types paradigm, but unlike Coq, has no separate tactics language, and proofs are written in a functional programming style. The language has ordinary programming constructs such as data types, pattern matching, records, let expressions and modules, and a Haskell-like syntax. The system has Emacs, Atom, and VS Code interfaces but can also be run in batch mode from the command line.

Agda is based on Zhaohui Luo's unified theory of dependent types (UTT), a type theory similar to Martin-Löf type theory.

Agda is named after the Swedish song "Hönan Agda", written by Cornelis Vreeswijk, which is about a hen named Agda. This alludes to the name of the theorem prover Coq, which was named after Thierry Coquand.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.