-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathindex.agda
52 lines (32 loc) · 1.01 KB
/
index.agda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{-# OPTIONS --guardedness #-}
module index where
-- The core design decisions behind agdarsec are detailed in
-- https://gallais.github.io/pdf/agdarsec18.pdf
-- We have a simplified frontend with ready made default choices:
import Text.Parser
-- Otherwise you probably want to start with the main types:
import Text.Parser.Types
-- You can see the parser combinators themselves in:
import Text.Parser.Combinators
import Text.Parser.Combinators.Numbers
import Text.Parser.Combinators.Char
-- And even a concrete instance in:
import Text.Parser.JSON
-- We have some ready-to-use monads for parsing in:
import Text.Parser.Monad
-- We have a small lexer library
import Text.Lexer
-- We have some fully worked-out examples in:
import Expr
import STLC
import Parentheses
import RegExp
import NList
import SExp
import Vec
import Matrix
-- And even a parser returning a large type
import Large
-- The key ideas behind the implementation details are largely contained in
import Induction.Nat.Strong
import Text.Parser.Success