Agda: A dependently typed functional programming language and proof assistant

[ dependent-types, mit, program ] [ Propose Tags ] [ Report a vulnerability ]

Agda is a dependently typed functional programming language: It has inductive families, which are similar to Haskell's GADTs, but they can be indexed by values and not just types. It also has parameterised modules, mixfix operators, Unicode characters, and an interactive Emacs interface (the type checker can assist in the development of your code).

Agda is also a proof assistant: It is an interactive system for writing and checking proofs. Agda is based on intuitionistic type theory, a foundational system for constructive mathematics developed by the Swedish logician Per Martin-Löf. It has many similarities with other proof assistants based on dependent types, such as Coq, Idris, Lean and NuPRL.

This package includes both a command-line program (agda) and an Emacs mode. If you want to use the Emacs mode you can set it up by running agda-mode setup (see the README).

Note that the Agda package does not follow the package versioning policy, because it is not intended to be used by third-party packages.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
debug

Enable debug printing. This makes Agda slightly slower, and building Agda slower as well. The --verbose=N option only has an effect when Agda was built with this flag.

Disabled
debug-serialisation

Enable debug mode in serialisation. This makes serialisation slower.

Disabled
debug-parsing

Enable debug mode in parsing. This makes parsing slower.

Disabled
enable-cluster-counting

Enable the --count-clusters flag. (If enable-cluster-counting is False, then the --count-clusters flag triggers an error message.)

Disabled
optimise-heavily

Enable some expensive optimisations when compiling Agda.

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Versions [RSS] 2.2.0, 2.2.2, 2.2.4, 2.2.6, 2.2.8, 2.2.10, 2.3.0, 2.3.0.1, 2.3.2, 2.3.2.1, 2.3.2.2, 2.4.0, 2.4.0.1, 2.4.0.2, 2.4.2, 2.4.2.1, 2.4.2.2, 2.4.2.3, 2.4.2.4, 2.4.2.5, 2.5.1, 2.5.1.1, 2.5.1.2, 2.5.2, 2.5.3, 2.5.4, 2.5.4.1, 2.5.4.2, 2.6.0, 2.6.0.1, 2.6.1, 2.6.1.1, 2.6.1.2, 2.6.1.3, 2.6.2, 2.6.2.1, 2.6.2.2, 2.6.3, 2.6.4, 2.6.4.1, 2.6.4.2, 2.6.4.3, 2.7.0, 2.7.0.1 (info)
Change log CHANGELOG.md
Dependencies aeson (>=1.1.2.0 && <2.3), Agda, ansi-terminal (>=0.9 && <1.2), array (>=0.5.2.0 && <0.6), async (>=2.2 && <2.3), base (>=4.12.0.0 && <4.21), binary (>=0.8.6.0 && <0.9), blaze-html (>=0.8 && <0.10), boxes (>=0.1.3 && <0.2), bytestring (>=0.10.8.2 && <0.13), case-insensitive (>=1.2.0.4 && <1.3), containers (>=0.6.0.1 && <0.8), data-hash (>=0.2.0.0 && <0.3), deepseq (>=1.4.4.0 && <1.6), directory (>=1.3.3.0 && <1.4), dlist (>=0.8 && <1.1), edit-distance (>=0.2.1.2 && <0.3), equivalence (>=0.3.2 && <0.5), exceptions (>=0.8 && <0.11), filepath (>=1.4.2.1 && <1.6), ghc-compact (>=0.1 && <0.2), gitrev (>=1.3.1 && <2), hashable (>=1.2.1.0 && <1.5), haskeline (>=0.7.4.3 && <0.9), monad-control (>=1.0.1.0 && <1.1), mtl (>=2.2.2 && <2.4), murmur-hash (>=0.1 && <0.2), parallel (>=3.2.2.0 && <3.3), peano (>=0.1.0.1 && <0.2), pretty (>=1.1.3.3 && <1.2), process (>=1.6.3.0 && <1.7), regex-tdfa (>=1.3.1.0 && <1.4), split (>=0.2.0.0 && <0.3), stm (>=2.4.4 && <2.6), STMonadTrans (>=0.4.3 && <0.5), strict (>=0.4.0.1 && <0.6), text (>=1.2.3.1 && <2.2), time (>=1.8.0.2 && <1.15), time-compat (>=1.9.2 && <1.10), transformers (>=0.5.5.0 && <0.7), unordered-containers (>=0.2.9.0 && <0.3), uri-encode (>=1.5.0.4 && <1.6), vector (>=0.12 && <0.14), vector-hashtables (>=0.1.1.1 && <0.2), Win32 (>=2.6.1.0 && <2.15), zlib (>=0.6 && <0.8) [details]
Tested with ghc ==9.10.1, ghc ==9.8.2, ghc ==9.6.5, ghc ==9.4.8, ghc ==9.2.8, ghc ==9.0.2, ghc ==8.10.7, ghc ==8.8.4, ghc ==8.6.5
License MIT
Copyright (c) 2005-2024 The Agda Team.
Author The Agda Team, see https://agda.readthedocs.io/en/latest/team.html
Maintainer The Agda Team
Revised Revision 1 made by AndreasAbel at 2024-05-19T09:48:06Z
Category Dependent types
Home page https://wiki.portal.chalmers.se/agda/
Bug tracker https://github.com/agda/agda/issues
Source repo head: git clone https://github.com/agda/agda.git
this: git clone https://github.com/agda/agda.git(tag v2.6.4.3)
Uploaded by AndreasAbel at 2024-03-06T10:35:04Z
Distributions Arch:2.6.4.1, Debian:2.6.1, Fedora:2.6.4.1, FreeBSD:2.4.2.3, LTSHaskell:2.7.0.1, NixOS:2.7.0.1, Stackage:2.7.0.1
Reverse Dependencies 8 direct, 1 indirect [details]
Executables agda-mode, agda
Downloads 63905 total (402 in the last 30 days)
Rating 2.75 (votes: 10) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-03-06 [all 1 reports]

Readme for Agda-2.6.4.3

[back to package description]

Agda 2

Hackage version Stackage version Test Documentation Status Agda Zulip

The official Agda logo

Note that this README is only about Agda, not its standard library. See the Agda Wiki for information about the library.

Documentation

Getting Started

Contributing to Agda