{-# OPTIONS --guardedness #-}
module index where
-- The core design decisions behind agdarsec are detailed in
-- https://gallais.github.io/pdf/agdarsec18.pdf
-- The most general version of the library is in
import Text.Parser.Polymorphic
-- 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