• Stars
    star
    556
  • Rank 77,369 (Top 2 %)
  • Language Agda
  • License
    Other
  • Created over 10 years ago
  • Updated 16 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Agda standard library

Travis (.org) branch Travis (.org) branch

The Agda standard library

The standard library aims to contain all the tools needed to write both programs and proofs easily. While we always try and write efficient code, we prioritize ease of proof over type-checking and normalization performance. If computational performance is important to you, then perhaps try agda-prelude instead.

Getting started

If you're looking to find your way around the library, there are several different ways to get started:

  • The library's structure and the associated design choices are described in the README.agda.

  • The README folder, which mirrors the structure of the main library, contains examples of how to use some of the more common modules. Feel free to open a new issue if there's a particular module you feel could do with some more documentation.

  • You can browse the library's source code in glorious clickable HTML.

  • Finally, you can get an overview of the entire library by looking at the index, which lists all modules in the library except the deprecated ones.

Installation instructions

See the installation instructions for the latest version of the standard library.

Old versions of Agda

If you're using an old version of Agda, you can download the corresponding version of the standard library on the Agda wiki. The module index for older versions of the library is also available. For example, version 0.17 can be found at https://agda.github.io/agda-stdlib/v0.17/, just replace in the URL 0.17 with the version that you need.

Development version of Agda

If you're using a development version of Agda rather than the latest official release, you should use the experimental branch of the standard library rather than master. The experimental branch contains non-backward compatible patches for upcoming changes to the language.

Type-checking with flags

The --safe flag

Most of the library can be type-checked using the --safe flag. Please consult GenerateEverything.hs for a full list of modules that use unsafe features.

The --without-k flag

Most of the library can be type-checked using the --without-k flag. Please consult GenerateEverything.hs for a full list of modules that use axiom K.

Contributing to the library

If you would like to suggest improvements, feel free to use the Issues tab. Even better, if you would like to make the improvements yourself, we have instructions in HACKING to help you get started. For those who would simply like to help out, issues marked with the low-hanging-fruit tag are a good starting point.

More Repositories

1

agda

Agda is a dependently typed programming language / interactive theorem prover.
Haskell
2,379
star
2

cubical

An experimental library for Cubical Agda
Agda
426
star
3

agda-categories

A new Categories library for Agda
Agda
348
star
4

agda2hs

Compiling Agda code to readable Haskell
Agda
167
star
5

agda-frp-js

ECMAScript back end for Functional Reactive Programming in Agda
Agda
100
star
6

agda-language-server

Language Server for Agda
Haskell
95
star
7

agda-frp-ltl

An implementation of Functional Reactive Programming
Agda
41
star
8

agda-ocaml

OCaml backend for Agda
Haskell
39
star
9

agda-pkg

apkg - package manager for Agda
Python
33
star
10

agda-spec

Specification of Agda.
TeX
25
star
11

agda-system-io

Bindings to Haskell's IO monad which respect Agda's semantics
Agda
24
star
12

agda-web-semantic

Agda libraries for the semantic web
Agda
22
star
13

ooAgda

Interactive and object-oriented programming in Agda using coinductive types
Agda
21
star
14

agda-finite-prover

Library for proving propositions quantified over finite sets
Agda
13
star
15

package-index

A package Index for agda libraries
12
star
16

categories-examples

Examples of categorical structures
Agda
11
star
17

agda-assoc-free

An implementation of "Associativity for Free"
9
star
18

agda-base

This is an experimental base library which is supposed to contain functional datastructures and reflection code.
Agda
9
star
19

fix-whitespace

Fixes whitespace issues
Haskell
8
star
20

hs-tags

Generate ctags and etags for Haskell files
Haskell
5
star
21

agda-makefile

An makefile with lightweight dependency management
5
star
22

guarded

Agda
5
star
23

agda-data-bindings

Agda bindings for low-level datatypes such as raw naturals and bytestrings
Agda
5
star
24

agda-web-uri

Simple bindings for parsing, processing and serializing URIs
Haskell
4
star
25

agda-github-syntax-highlighting

Syntax highlighting used on GitHub
Agda
4
star
26

agda-uhc

UHC backend for Agda
Haskell
4
star
27

agda-ghc-names

Tool for making sense of the Haskell code generated by the Agda compiler
Haskell
4
star
28

agda-text-xml

Simple bindings for parsing, processing and serializing XML
3
star