Freedom251 › Formal Verification Tools
Agda

What Agda is
Agda is a free, open-source functional programming language with dependent types and an interactive proof assistant for writing and checking proofs. Its foundation is intuitionistic type theory, used in constructive mathematics. Language features include inductive families, parametrised modules, mixfix operators, and Unicode characters. An interactive Emacs interface can assist with program writing; interactive support is also listed for Visual Studio Code, Neovim, and Vim, with Emacs identified as the most tested. Prebuilt binaries are listed for Windows and Linux on x86-64 and macOS on x86-64 and arm64. Installation options include GitHub releases, source, package managers, and some editor extensions. Agda can compile code through GHC to Haskell, but GHC is not bundled with most distributions; its JavaScript backend does not call separate programs. The optional standard library is not included with all packages. For browser use, Agda Pad connects to a remote Emacs session and supports live collaboration on small projects. Its server says it stores programs unencrypted and provides no guarantees.
Who it suits
Agda suits programmers and researchers working with formal proofs, constructive mathematics, or dependently typed programs. It is also an option for learners who want editor-based or browser access to try the language.
What it does well
- Free and open source
- Interactive proof assistant for writing and checking proofs
- Editor support includes Emacs, VS Code, Neovim, and Vim
- Prebuilt binaries cover Windows, Linux, and macOS
- Agda Pad supports browser use and small-project collaboration
What to know first
- GHC is not bundled with most distributions
- The standard library is optional and not bundled with all packages
- Agda Pad stores programs unencrypted
- Agda Pad provides no service guarantees
Limits
The standard library is optional and is not bundled with all packages. Most Agda distributions do not bundle GHC, which Agda calls to compile code to Haskell. Agda Pad stores programs unencrypted and provides no guarantees.
Getting started
- Visit the Agda Wiki installation guide.
- Install a prebuilt binary, build from source, use a package manager, or install through a supported editor extension.
- Choose an interactive editor; Emacs is the most tested integration.
- Optionally install the standard library, which Agda can work without.
- To compile to Haskell, arrange for GHC; alternatively use Agda's JavaScript backend.
- For browser use, open Agda Pad's remote Emacs session.
Verdict
Agda combines a dependently typed language with interactive proof checking and several editor options. Its browser option has explicit data-handling and reliability limitations, and compiling through GHC may require installing that dependency separately.
Questions
Is Agda free and open source?
Yes. Agda is open source and free.
Which operating systems have prebuilt binaries?
Binaries are listed for Windows x86-64, Linux x86-64, macOS x86-64, and macOS arm64.
Which editors support Agda?
Interactive support is listed for Emacs, Visual Studio Code, Neovim, and Vim. Emacs is identified as the most tested.
Does Agda include a standard library?
The standard library is optional and is not bundled with all packages.
What is required to compile Agda code to Haskell?
Agda calls GHC to compile code to Haskell, and GHC is not bundled with most distributions. Its JavaScript backend calls no separate programs.
Can I use Agda in a browser?
Agda Pad provides remote Emacs sessions for trying Agda and live collaboration on small projects. Its server stores programs unencrypted and the service comes without guarantees.
Facts from Agda's own pages
- 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. · agdapad.quasicoherent.io, 11 Oct 2026
- Agda Pad limits
- Agda Pad says its server is not well-equipped, provides no guarantees, and stores programs unencrypted. · agdapad.quasicoherent.io, 11 Oct 2026
- 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. · agdapad.quasicoherent.io, 11 Oct 2026
- Build options
- The installation guide says Agda can be installed from GitHub releases, source, package managers, or some text editor extensions. · agda.readthedocs.io, 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. · wiki.portal.chalmers.se, 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. · agda.readthedocs.io, 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. · agda.readthedocs.io, 11 Oct 2026
- Desktop platforms
- Prebuilt Agda binaries are available for Windows x86-64, Linux x86-64, macOS x86-64, and macOS arm64. · agda.readthedocs.io, 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. · wiki.portal.chalmers.se, 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. · agda.readthedocs.io, 11 Oct 2026
- Foundations
- Agda is based on intuitionistic type theory, a foundation for constructive mathematics developed by Per Martin-Löf. · wiki.portal.chalmers.se, 11 Oct 2026
- Installation options
- The type-checker can be installed from prebuilt GitHub binaries, source, package managers, or some text editor extensions. · agda.readthedocs.io, 11 Oct 2026
- Interactive editing
- Agda’s interactive Emacs interface can assist programmers in writing programs. · wiki.portal.chalmers.se, 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. · wiki.portal.chalmers.se, 11 Oct 2026
- Libraries and developments
- The Agda Wiki lists community libraries and developments, including a standard library, reflective tactics, and formalizations of mathematics. · wiki.portal.chalmers.se, 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. · agdapad.quasicoherent.io, 11 Oct 2026
- Open source
- Agda is open source and has contributions from many authors. · wiki.portal.chalmers.se, 11 Oct 2026
- Proof foundations
- Agda is based on intuitionistic type theory, a foundation for constructive mathematics developed by Per Martin-Löf. · wiki.portal.chalmers.se, 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. · wiki.portal.chalmers.se, 11 Oct 2026
- Safe mode
- Agda's --safe option disables features that could lead to inconsistencies, including postulates, unfinished proofs, and disabling termination checks. · agda.readthedocs.io, 11 Oct 2026
- Standard library
- The Agda standard library is optional, and Agda works without it. · agda.readthedocs.io, 11 Oct 2026
- Support
- The Agda wiki directs users to ask questions on the Agda mailing list or Agda Zulip server. · wiki.portal.chalmers.se, 11 Oct 2026
- Supported binaries
- Prebuilt binaries are listed for Windows x86-64, Linux x86-64, macOS x86-64, and macOS arm64. · agda.readthedocs.io, 11 Oct 2026
- Termination checking
- Agda accepts recursive functions only when its checker can mechanically prove they terminate, unless checking is explicitly disabled. · agda.readthedocs.io, 11 Oct 2026
Where Agda stands on Freedom251
- Formal Verification Tools#8 of 34
