github.com/agda/agda ↗
Agda is a dependently typed programming language / interactive theorem prover.
Open this visualization on its own page →
Contributors
193
Lines of Code
80,372
From
2005-09-09
To
2021-02-15
About agda/agda
Agda is a dependently typed programming language and interactive theorem prover written in Haskell. It allows programmers to write code where types can depend on values, enabling the expression of precise specifications and mathematical properties directly in the type system. The language integrates proof-assistant capabilities, allowing users to write proofs that are checked by the compiler, with Agda verifying both the correctness of programs and the validity of mathematical theorems.
The project provides a complete interactive development environment for writing, type-checking, and compiling Agda code. Users can work with programs interactively through editors with Agda support, receiving real-time feedback as they develop. The implementation includes a sophisticated type checker that handles dependent types, pattern matching, and term rewriting, along with backends for compiling Agda to executable code.
Agda serves academic researchers, mathematicians, and software developers interested in formal verification and constructive mathematics. The project maintains comprehensive documentation including a user manual and quick-start guides, and it fosters an active community through communication channels like Zulip. A separate standard library provides additional utilities and proof infrastructure for users building on top of the core language.