ltext-0.1.5: Parameterized file evaluator
Safe HaskellSafe-Inferred
LanguageHaskell2010

LText.Document

Synopsis

Documentation

data Document Source #

A parsed document

Constructors

Document 

Fields

Instances

Instances details
Arbitrary Document Source # 
Instance details

Defined in LText.Document

Show Document Source # 
Instance details

Defined in LText.Document

Eq Document Source # 
Instance details

Defined in LText.Document

data DocumentBody Source #

The body of a document is either a block of raw text, or an ltext expression.

Constructors

RawText [Text] 
Expression Expr 

Instances

Instances details
Arbitrary DocumentBody Source # 
Instance details

Defined in LText.Document

Show DocumentBody Source # 
Instance details

Defined in LText.Document

Eq DocumentBody Source # 
Instance details

Defined in LText.Document

repackDocument :: [DocumentBody] -> [DocumentBody] Source #

Concatenates adjacent RawText blocks

parseDocument Source #

Arguments

:: MonadParse m 
=> Text

Document content

-> m (Document, Maybe (Text, Text)) 

Takes a raw text file and returns the parsed document, and left and right delimiters if it has arity.

printDocument Source #

Arguments

:: MonadPrettyPrint m 
=> Maybe (Text, Text)

Explicitly supplied delimiters

-> Document 
-> m Text 

fromDocument Source #

Arguments

:: FilePath

Name of source file

-> Document 
-> Expr 

Given a document, generate an expression (without thinking too hard about it)

data PrintError Source #

Constructors

ConcatExprText Expr

Represents a scenario where a Lit is inside a Abs or App.

NoExplicitDelimiters 

Instances

Instances details
Exception PrintError Source # 
Instance details

Defined in LText.Document

Generic PrintError Source # 
Instance details

Defined in LText.Document

Associated Types

type Rep PrintError :: Type -> Type #

Show PrintError Source # 
Instance details

Defined in LText.Document

Eq PrintError Source # 
Instance details

Defined in LText.Document

type Rep PrintError Source # 
Instance details

Defined in LText.Document

type Rep PrintError = D1 ('MetaData "PrintError" "LText.Document" "ltext-0.1.5-2mWRDtVcy1xDs2drGHsToO" 'False) (C1 ('MetaCons "ConcatExprText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Expr)) :+: C1 ('MetaCons "NoExplicitDelimiters" 'PrefixI 'False) (U1 :: Type -> Type))