
Agda
Agda is an open-source dependently typed functional programming language and interactive proof assistant for writing and checking proofs.
What Agda is
Agda is an open-source dependently typed functional programming language and interactive proof assistant for writing and checking proofs. It is based on intuitionistic type theory, a foundation for constructive mathematics developed by Per Martin-Löf. The language provides inductive families, parametrised modules, mixfix operators, and Unicode characters. Its interactive Emacs interface assists program writing, while editor support is also listed for Visual Studio Code, Neovim, and Vim. Agda accepts recursive functions when its termination checker can prove they terminate, unless checking is disabled. Safe mode disables features that could create inconsistencies, including postulates, unfinished proofs, and disabled termination checks. Installation options include prebuilt GitHub binaries, source, package managers, and some editor extensions, with binaries for Windows and Linux x86-64 plus macOS x86-64 and arm64. Agda can compile through GHC to Haskell or use a JavaScript backend. Agda Pad offers browser access and collaboration, but stores programs unencrypted and provides no guarantees.
Good
- Open-source proof assistant and language
- Supports dependent types and inductive families
- Interactive editing through several editors
- Termination checking for recursive functions
- Browser option with live collaboration
Watch out
- Standard library is optional
- GHC is usually not bundled
- Agda Pad stores programs unencrypted
- Agda Pad provides no guarantees
Who it suits
Agda suits programmers and researchers working with functional programming, dependent types, and formal proofs. It runs across listed desktop systems and can also be used through Agda Pad.
Verdict
Agda combines functional programming with machine-checked proofs and configurable safety checks. Its editor and installation options are broad, while compilation dependencies and Agda Pad’s data handling deserve attention.
The facts
Each one read from Agda's own pages, with the date it was checked.
What it does
- Agda Pad data handling
- Agda Pad states that programs are stored on its server unencrypted, no personally identifying data is recorded, and the free service comes without guarantees.checked 11 Oct 2026
- Agda Pad limits
- Agda Pad says its server is not well-equipped, provides no guarantees, and stores programs unencrypted.checked 11 Oct 2026
- Build options
- The installation guide says Agda can be installed from GitHub releases, source, package managers, or some text editor extensions.checked 11 Oct 2026
- Community support
- Users can ask questions on the Agda mailing list or public Zulip server, and a separate developers mailing list is for implementation discussions.checked 11 Oct 2026
- Compilation
- Agda can compile code through GHC to Haskell or through its JavaScript backend; GHC is not bundled with most Agda distributions.checked 11 Oct 2026
- Compilation dependency
- To compile Agda code to an executable, Agda calls GHC, which is not bundled with most Agda distributions; its JavaScript backend calls no separate programs.checked 11 Oct 2026
- Development
- The Agda development center is the Logic and Types group at Chalmers and the University of Gothenburg, and the project is open source.checked 11 Oct 2026
- Editor integrations
- Interactive editor support is listed for Emacs, Visual Studio Code, Neovim, and Vim; Emacs is identified as the most tested.checked 11 Oct 2026
- Foundations
- Agda is based on intuitionistic type theory, a foundation for constructive mathematics developed by Per Martin-Löf.checked 11 Oct 2026
- Installation options
- The type-checker can be installed from prebuilt GitHub binaries, source, package managers, or some text editor extensions.checked 11 Oct 2026
- Interactive editing
- Agda’s interactive Emacs interface can assist programmers in writing programs.checked 11 Oct 2026
- Libraries
- Agda's standard library is optional and is not bundled with all packages; additional community libraries and developments are listed on the wiki.checked 11 Oct 2026
- Libraries and developments
- The Agda Wiki lists community libraries and developments, including a standard library, reflective tactics, and formalizations of mathematics.checked 11 Oct 2026
- Online use
- The wiki links to Agda Pad as a browser option; Agda Pad provides remote Emacs sessions for trying Agda and live collaboration on small projects.checked 11 Oct 2026
- Open source
- Agda is open source and has contributions from many authors.checked 11 Oct 2026
- Proof foundations
- Agda is based on intuitionistic type theory, a foundation for constructive mathematics developed by Per Martin-Löf.checked 11 Oct 2026
- Research home
- The Agda Wiki says the center of Agda development is the Logic and Types group at Chalmers and Gothenburg University.checked 11 Oct 2026
- Safe mode
- Agda's --safe option disables features that could lead to inconsistencies, including postulates, unfinished proofs, and disabling termination checks.checked 11 Oct 2026
- Standard library
- The Agda standard library is optional, and Agda works without it.checked 11 Oct 2026
- Support
- The Agda wiki directs users to ask questions on the Agda mailing list or Agda Zulip server.checked 11 Oct 2026
- Supported binaries
- Prebuilt binaries are listed for Windows x86-64, Linux x86-64, macOS x86-64, and macOS arm64.checked 11 Oct 2026
- Termination checking
- Agda accepts recursive functions only when its checker can mechanically prove they terminate, unless checking is explicitly disabled.checked 11 Oct 2026
Where it runs
- Browser option
- Agda Pad connects users to a remote Emacs session and is described as enabling use without local installation and live collaboration on small projects.checked 11 Oct 2026
- Desktop platforms
- Prebuilt Agda binaries are available for Windows x86-64, Linux x86-64, macOS x86-64, and macOS arm64.checked 11 Oct 2026



