{- | Copyright: (c) 2018-2020 Kowainik SPDX-License-Identifier: MPL-2.0 Maintainer: Kowainik This module reexports all functionality of the @tomland@ package. It's recommended to import this module qualified, like this: @ __import__ "Toml" ('TomlCodec', '(.=)') __import__ __qualified__ "Toml" @ Simple @'TomlCodec'@ for a Haskell value, that can be decoded from TOML or encoded as TOML, could be written in the following way: @ __data__ User = User { userName :: Text , userAge :: Int } userCodec :: 'TomlCodec' User userCodec = User \<$\> Toml.'text' "name" '.=' userName \<*\> Toml.'int' "age" '.=' userAge @ A value of such type will look in TOML like this: @ name = "Alice" age = 27 @ For more detailed examples see README.md in the repository: * [tomland/README.md](https://github.com/kowainik/tomland#tomland) For the details of the library implementation see blog post: * [tomland: Bidirectional TOML serialization](https://kowainik.github.io/posts/2019-01-14-tomland) -} module Toml ( -- $codec module Toml.Codec -- $type , module Toml.Type -- $parser , module Toml.Parser ) where import Toml.Codec import Toml.Parser import Toml.Type {- $codec Main types and functions to implement TOML codecs. This module provides high-level API of @tomland@ library. -} {- $type Low-level implementation details of types that power @tomland@. The "Toml.Type" module contains types to represent TOML AST and basic functions to work with it. This module also contains pretty-printing API for 'TOML' AST and eDSL for type-safe definition of the TOML values. -} {- $parser Parser for types, defined in "Toml.Type". This modules contains low-level functions to parse 'TOML' from text. If you want to convert between Haskell types and TOML representation, use functions from "Toml.Codec". -}