Content deleted Content added
MaybeitsMir (talk | contribs) m Reverted 1 edit by 41.36.135.172 (talk) to last revision by 2A02:8308:101:CA00:359B:CE83:9C13:1DEC |
Jerryobject (talk | contribs) Adds: Template:Use dmy dates (MOS:DATETIES), MOS:COMMENT, WP:CATEGORY. Template:Infobox programming language parameters: update-standardize-conform corrects. WP:LINKs: update-standardizes, needless WP:PIPEs > WP:NOPIPEs, adds. Cut needless whitespace character spaces to standardize, aid work via small screens. Small WP:COPYEDITs WP:EoS: clarify, WP:TERSE. Cut needless carriage returns in WP:REFerence WP:CITation. |
||
Line 1:
{{
{{
{{Use dmy dates|date=September 2024}}
{{Infobox programming language
| name = Agda
| logo = Agda's official logo.svg
| logo alt = A stylized chicken in black lines and dots, to the left of the name "Agda" in sans-serif test with the first letter slanted to the right.
| paradigm = [[
| year = {{Start date and age|2007}} (1.0 in {{Start date and age|1999}})▼
| designer = Ulf Norell; Catarina Coquand (1.0)
| developer = Ulf Norell; Catarina Coquand (1.0)
| latest release version = 2.6.3▼
| latest release
| latest
| latest
| typing = [[Strong and weak typing|strong]], [[Static typing|static]], [[Dependent typing|dependent]], [[Nominal typing|nominal]], [[Manifest typing|manifest]], [[Inferred typing|inferred]]
| implementations =
| dialects =
| influenced = [[Idris (programming language)|Idris]]
| programming language = [[
| influenced by = [[Coq (software)|Coq]], [[Epigram (programming language)|Epigram]], [[
| license = [[BSD licenses|BSD-like]]<ref>[http://code.haskell.org/Agda/LICENSE Agda license file]</ref>
| file ext = <code>.agda</code>, <code>.lagda</code>, <code>.lagda.md</code>, <code>.lagda.rst</code>, <code>.lagda.tex</code>
| operating system = [[Cross-platform software|Cross-platform]]
| website = {{URL|wiki.portal.chalmers.se/agda}}
}}
'''Agda''' is a [[Dependent type|dependently typed]] [[
</ref> The original Agda system was developed at Chalmers by Catarina Coquand in 1999.<ref>{{Cite web |url
Agda is also a [[proof assistant]] based on the [[propositions-as-types]] paradigm, but unlike [[Coq (software)|Coq]], has no separate
Agda is based on Zhaohui Luo's unified theory of dependent types (UTT),<ref>Luo, Zhaohui. ''Computation and reasoning: a type theory for computer science''. Oxford University Press, Inc., 1994.</ref> a type theory similar to [[Intuitionistic type theory|Martin-Löf type theory]].
Agda is named after the [[Swedish language|Swedish]] song "Hönan Agda", written by [[Cornelis Vreeswijk]],<ref>{{cite web |title
== Features ==
Line 52 ⟶ 53:
s≤s : {n m : ℕ} → n ≤ m → suc n ≤ suc m
</syntaxhighlight>
The first constructor, <code>z≤n</code>, corresponds to the axiom that zero is less than or equal to any natural number. The second constructor, <code>s≤s</code>, corresponds to an inference rule, allowing to turn a proof of <code>n ≤ m</code> into a proof of <code>suc n ≤ suc m</code>.<ref>{{Cite web |url
=== Dependently typed pattern matching ===
Line 72 ⟶ 73:
=== Proof automation ===
Programming in pure type theory involves a lot of tedious and repetitive proofs. Although Agda has no separate tactics language, it is possible to program useful tactics within Agda
<syntaxhighlight lang="agda">
data Maybe (A : Set) : Set where
Line 101 ⟶ 102:
The actual proof of each lemma will be automatically constructed at type-checking time. If the tactic fails, type-checking will fail.
</ref>
Another mechanism for proof automation is proof search action in
</ref>
=== Termination checking ===
Agda is a [[
=== Standard library ===
Agda has an extensive de facto [[standard library]], which includes many useful definitions and theorems about basic data structures, such as natural numbers, lists, and vectors. The [[Library (computing)|library]] is in beta, and is under active development.
=== Unicode ===
Line 137 ⟶ 135:
* [https://www.youtube.com/playlist?list=PLB7F836675DCE009C Introduction to Agda], a five-part YouTube playlist by Daniel Peebles
* [http://oxij.org/note/BrutalDepTypes/ Brutal {{bracket|Meta}}Introduction to Dependent Types in Agda]
* [http://people.inf.elte.hu/divip/AgdaTutorial/
* [https://www.youtube.com/playlist?list=PLtIZ5qxwSNnzpNqfXzJjlHI9yCAzRzKtx HoTTEST Summer School 2022], 66 lectures on Homotopy Type Theory, including
{{Haskell programming}}
Line 157 ⟶ 155:
[[Category:Programming languages created in 2007]]
[[Category:2007 software]]
<!-- Hidden categories below -->
[[Category:Articles with example Haskell code]]
|