# Agda

> dependently typed, purely functional programming language and proof assistant

**Wikidata**: [Q20479](https://www.wikidata.org/wiki/Q20479)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Agda_(programming_language))  
**Source**: https://4ort.xyz/entity/agda

## Summary
Agda is a dependently typed, purely functional programming language and proof assistant developed by Chalmers University of Technology. It was first released in 2007 and runs on Microsoft Windows and Unix-like operating systems.

## Key Facts
- Developed by Chalmers University of Technology, first released in 2007
- Latest stable versions include 2.5.1.1 (released June 21, 2016) and 2.5.3 (released September 8, 2017)
- Licensed under BSD licenses
- Influenced by Rocq prover, Epigram, and Haskell
- Supports homotopy type theory implementation
- Uses strong typing, manifest typing, dependent typing, static typing, nominative typing, and inference typing
- Available as free software with source code on GitHub at https://github.com/agda/agda
- File extensions include .agda and .lagda
- Official website: https://wiki.portal.chalmers.se/agda/pmwiki.php

## FAQs
### Q: What is Agda used for?
A: Agda is used for dependently typed functional programming and formal proof development. It serves as both a programming language and a proof assistant, allowing users to write programs with strong type guarantees and verify mathematical proofs.

### Q: What platforms does Agda run on?
A: Agda runs on Microsoft Windows and Unix-like operating systems. It's available through various package managers including Debian, Arch Linux, Gentoo, Homebrew, and FreeBSD ports.

### Q: How does Agda differ from other functional programming languages?
A: Agda is distinguished by its dependent typing system, which allows types to depend on values. This enables more expressive type systems and formal verification capabilities not found in most other functional programming languages.

## Why It Matters
Agda represents a significant advancement in the intersection of programming languages and formal verification. By combining dependently typed programming with proof assistant capabilities, it enables developers to write programs that are mathematically verified to be correct, reducing bugs and increasing reliability in critical software systems. The language has influenced the development of other dependently typed languages and proof assistants, contributing to the broader field of formal methods in computer science. Its implementation of homotopy type theory and integration with the Haskell ecosystem make it a valuable tool for both theoretical research and practical software development where correctness is paramount.

## Notable For
- First dependently typed functional programming language with integrated proof assistant capabilities
- Implementation of homotopy type theory, advancing mathematical foundations in programming
- Strong influence on the development of other dependently typed languages like Idris and Rocq
- Active development with continuous integration testing through Travis CI
- Comprehensive package availability across major Linux distributions and package managers

## Body
### Development and History
Agda was developed at Chalmers University of Technology and first released in 2007. The language evolved from earlier dependently typed programming language research and was influenced by Rocq prover and Epigram. Development has been active with multiple version releases, including 2.4.0.1 through 2.4.2.5 in 2014-2015, and 2.5.x versions in 2016-2017.

### Technical Features
Agda implements a sophisticated type system including dependent typing, where types can depend on values. It supports multiple typing disciplines: strong typing, manifest typing, static typing, nominative typing, and inference typing. The language is purely functional and isomorph to lambda calculus, making it suitable for formal verification and mathematical proofs.

### Implementation and Availability
The language is implemented in Haskell and available as free software under BSD licenses. Source code is hosted on GitHub at https://github.com/agda/agda with continuous integration testing via Travis CI. Agda is packaged for various operating systems including Debian, Arch Linux, Gentoo, FreeBSD, and macOS via Homebrew.

### File Formats and Extensions
Agda source files use .agda extension, while literate Agda source code files use .lagda extension. The language supports Literate Agda source code format, allowing documentation to be interleaved with code.

### Ecosystem and Integration
Agda integrates with the Haskell ecosystem and supports homotopy type theory implementation. It has influenced the development of other dependently typed languages and proof assistants. The language is available through multiple package managers and has active community support through Stack Exchange and other platforms.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Agda",
  "description": "Dependently typed, purely functional programming language and proof assistant",
  "url": "https://wiki.portal.chalmers.se/agda/pmwiki.php",
  "sameAs": [
    "https://en.wikipedia.org/wiki/Agda_(programming_language)",
    "https://www.wikidata.org/wiki/Q1134434"
  ],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [2025](https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv)
2. [Source](http://hackage.haskell.org/package/Agda-2.5.1.1/changelog)
3. [Release 2.5.1.1. 2016](https://github.com/agda/agda/releases/tag/v2.5.1.1)
4. [Source](https://github.com/agda/agda/releases/tag/v2.5.3)
5. [Release 2.4.0.1. 2014](https://github.com/agda/agda/releases/tag/2.4.0.1)
6. [Release 2.4.0.2. 2014](https://github.com/agda/agda/releases/tag/2.4.0.2)
7. [Release 2.4.2. 2014](https://github.com/agda/agda/releases/tag/2.4.2)
8. [Release 2.4.2.1. 2014](https://github.com/agda/agda/releases/tag/2.4.2.1)
9. [Release 2.4.2.2. 2014](https://github.com/agda/agda/releases/tag/2.4.2.2)
10. [Release 2.4.2.3. 2015](https://github.com/agda/agda/releases/tag/2.4.2.3)
11. [Release 2.4.2.4. 2015](https://github.com/agda/agda/releases/tag/2.4.2.4)
12. [Release 2.4.2.5. 2015](https://github.com/agda/agda/releases/tag/2.4.2.5)
13. [Release 2.5.1. 2016](https://github.com/agda/agda/releases/tag/2.5.1)
14. [Release 2.5.1.2. 2016](https://github.com/agda/agda/releases/tag/v2.5.1.2)
15. [Release 2.5.2. 2016](https://github.com/agda/agda/releases/tag/v2.5.2)
16. [Release 2.5.4. 2018](https://github.com/agda/agda/releases/tag/v2.5.4)
17. [Release 2.5.4.1. 2018](https://github.com/agda/agda/releases/tag/v2.5.4.1)
18. [Release 2.0.0. 2007](https://github.com/agda/agda/releases/tag/2_0_0)
19. [Release 2.0.1. 2007](https://github.com/agda/agda/releases/tag/2_0_1)
20. [Release 2.1.0. 2007](https://github.com/agda/agda/releases/tag/2_1_0)
21. [Release 2.1.2. 2007](https://github.com/agda/agda/releases/tag/2_1_2)
22. [Release 2.2.0. 2009](https://github.com/agda/agda/releases/tag/2_2_0)
23. [Release 2.2.2. 2009](https://github.com/agda/agda/releases/tag/2_2_2)
24. [Release 2.2.4. 2009](https://github.com/agda/agda/releases/tag/2_2_4)
25. [Release 2.2.6. 2009](https://github.com/agda/agda/releases/tag/2_2_6)
26. [Release 2.2.8. 2010](https://github.com/agda/agda/releases/tag/2_2_8)
27. [Release 2.2.10. 2011](https://github.com/agda/agda/releases/tag/2_2_10)
28. [Release 2.3.0. 2011](https://github.com/agda/agda/releases/tag/2_3_0)
29. [Release 2.3.2. 2012](https://github.com/agda/agda/releases/tag/2_3_2)
30. [Release 2.3.2.1. 2013](https://github.com/agda/agda/releases/tag/2_3_2_1)
31. [Release 2.3.2.2. 2013](https://github.com/agda/agda/releases/tag/2_3_2_2)
32. [Release 2.4.0. 2014](https://github.com/agda/agda/releases/tag/2_4_0)
33. [Release 2.5.4.2. 2018](https://github.com/agda/agda/releases/tag/v2.5.4.2)
34. [Release 2.6.0. 2019](https://github.com/agda/agda/releases/tag/v2.6.0)
35. [Release 2.6.0.1. 2019](https://github.com/agda/agda/releases/tag/v2.6.0.1)
36. [Release 2.6.1. 2020](https://github.com/agda/agda/releases/tag/v2.6.1)
37. [Release 2.6.1.1. 2020](https://github.com/agda/agda/releases/tag/v2.6.1.1)
38. [Release 2.6.1.2. 2021](https://github.com/agda/agda/releases/tag/v2.6.1.2)
39. [Release 2.6.1.3. 2021](https://github.com/agda/agda/releases/tag/v2.6.1.3)
40. [Release 2.6.2. 2021](https://github.com/agda/agda/releases/tag/v2.6.2)
41. [Release 2.6.2.1. 2021](https://github.com/agda/agda/releases/tag/v2.6.2.1)
42. [Release 2.6.2.2. 2022](https://github.com/agda/agda/releases/tag/v2.6.2.2)
43. [Release 2.6.3. 2023](https://github.com/agda/agda/releases/tag/v2.6.3)
44. [Release 2.6.4. 2023](https://github.com/agda/agda/releases/tag/v2.6.4)
45. [Release 2.6.4.1. 2023](https://github.com/agda/agda/releases/tag/v2.6.4.1)
46. [Release 2.6.4.3. 2024](https://github.com/agda/agda/releases/tag/v2.6.4.3)
47. [Release v2.7.0 · agda/agda](https://github.com/agda/agda/releases/tag/v2.7.0)
48. [Release 2.7.0.1. 2024](https://github.com/agda/agda/releases/tag/v2.7.0.1)
49. [Release 2.8.0. 2025](https://github.com/agda/agda/releases/tag/v2.8.0)
50. Freebase Data Dumps. 2013