agda/agda ↗
Created Feb 16, 2021 · View the agda/agda repository page
Agda is a dependently typed programming language / interactive theorem prover.
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
193
Lines of Code
80,372
From
Sep 9, 2005
To
Feb 15, 2021
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.