toml-parser-2.0.1.0: TOML 1.0.0 parser
Copyright(c) Eric Mertens 2023
LicenseISC
Maintaineremertens@gmail.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Toml.Syntax.Types

Description

This module provides a raw representation of TOML files as a list of table definitions and key-value assignments.

These values use the raw dotted keys and have no detection for overlapping assignments.

Further processing will happen in the Semantics module.

Synopsis

Documentation

type Key a = NonEmpty (a, Text) Source #

Non-empty sequence of dotted simple keys

data Expr a Source #

Headers and assignments corresponding to lines of a TOML file

Constructors

KeyValExpr (Key a) (Val a)

key value assignment: key = value

TableExpr (Key a)

table: [key]

ArrayTableExpr (Key a)

array of tables: [[key]]

Instances

Instances details
Read a => Read (Expr a) Source # 
Instance details

Defined in Toml.Syntax.Types

Show a => Show (Expr a) Source # 
Instance details

Defined in Toml.Syntax.Types

Methods

showsPrec :: Int -> Expr a -> ShowS #

show :: Expr a -> String #

showList :: [Expr a] -> ShowS #

data Val a Source #

Unvalidated TOML values. Table are represented as a list of assignments rather than as resolved maps.

Instances

Instances details
Read a => Read (Val a) Source # 
Instance details

Defined in Toml.Syntax.Types

Show a => Show (Val a) Source # 
Instance details

Defined in Toml.Syntax.Types

Methods

showsPrec :: Int -> Val a -> ShowS #

show :: Val a -> String #

showList :: [Val a] -> ShowS #

data SectionKind Source #

Kinds of table headers

Constructors

TableKind
table
ArrayTableKind
[array of tables
]