symantic-cli-0.0.0.20180410: Library for Command Line Interface (CLI)

Safe HaskellNone
LanguageHaskell2010

Language.Symantic.CLI.Plain

Contents

Synopsis

Class Doc

class (IsString d, Semigroup d, Monoid d, Textable d, Indentable d, Breakable d, Colorable d, Decorable d) => Doc d Source #

Instances
Doc TermIO Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Doc Term Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Type Reader

data Reader d Source #

Constructed top-down

Constructors

Reader 

Fields

pairIfNeeded :: Doc d => Reader d -> Infix -> d -> d Source #

Type Plain

newtype Plain d e t a Source #

Constructors

Plain 

Fields

Instances
Doc d => Sym_Help d (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

help :: d -> Plain d e t a -> Plain d e t a Source #

Doc d => Sym_Exit (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

exit :: e -> Plain d e t () Source #

Doc d => Sym_Option (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Doc d => Sym_Command (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

main :: Name -> Plain d e t a -> Plain d e ArgCommand a Source #

command :: Name -> Plain d e t a -> Plain d e ArgCommand a Source #

Doc d => Sym_Rule (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

rule :: String -> Plain d e t a -> Plain d e t a Source #

Doc d => Sym_Interleaved (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

interleaved :: Perm (Plain d e t) a -> Plain d e t a Source #

(<<$>>) :: (a -> b) -> Plain d e t a -> Perm (Plain d e t) b Source #

(<<$?>>) :: (a -> b) -> (a, Plain d e t a) -> Perm (Plain d e t) b Source #

(<<$*>>) :: ([a] -> b) -> Plain d e t a -> Perm (Plain d e t) b Source #

(<<|>>) :: Perm (Plain d e t) (a -> b) -> Plain d e t a -> Perm (Plain d e t) b Source #

(<<|?>>) :: Perm (Plain d e t) (a -> b) -> (a, Plain d e t a) -> Perm (Plain d e t) b Source #

(<<|*>>) :: Perm (Plain d e t) ([a] -> b) -> Plain d e t a -> Perm (Plain d e t) b Source #

(<<$) :: a -> Plain d e t b -> Perm (Plain d e t) a Source #

(<<$?) :: a -> (b, Plain d e t b) -> Perm (Plain d e t) a Source #

Doc d => Sym_AltApp (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

many :: Plain d e t a -> Plain d e t [a] Source #

some :: Plain d e t a -> Plain d e t [a] Source #

intermany :: [Plain d e t a] -> Plain d e t [a] Source #

Doc d => Sym_Alt (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

(<||>) :: Plain d e t a -> Plain d e t a -> Plain d e t a Source #

choice :: [Plain d e t a] -> Plain d e t a Source #

optional :: Plain d e t a -> Plain d e t (Maybe a) Source #

option :: a -> Plain d e t a -> Plain d e t a Source #

try :: Plain d e t a -> Plain d e t a Source #

Doc d => Sym_App (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

value :: a -> Plain d e ArgValue a Source #

(<**>) :: Plain d e t (a -> b) -> Plain d e u a -> Plain d e u b Source #

(**>) :: Plain d e t a -> Plain d e u b -> Plain d e u b Source #

(<**) :: Plain d e t a -> Plain d e u b -> Plain d e u a Source #

end :: Plain d e t () Source #

Doc d => Sym_Fun (Plain d) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

(<$$>) :: (a -> b) -> Plain d e t a -> Plain d e t b Source #

(<$$) :: a -> Plain d e t b -> Plain d e t a Source #

($$>) :: Plain d e t b -> a -> Plain d e t a Source #

Show (Plain Term e t a) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

showsPrec :: Int -> Plain Term e t a -> ShowS #

show :: Plain Term e t a -> String #

showList :: [Plain Term e t a] -> ShowS #

(Semigroup d, IsString d) => IsString (Plain d e t a) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

fromString :: String -> Plain d e t a #

Semigroup d => Semigroup (Plain d e t a) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

(<>) :: Plain d e t a -> Plain d e t a -> Plain d e t a #

sconcat :: NonEmpty (Plain d e t a) -> Plain d e t a #

stimes :: Integral b => b -> Plain d e t a -> Plain d e t a #

(Semigroup d, Monoid d) => Monoid (Plain d e t a) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

Methods

mempty :: Plain d e t a #

mappend :: Plain d e t a -> Plain d e t a -> Plain d e t a #

mconcat :: [Plain d e t a] -> Plain d e t a #

type Perm (Plain d e t) Source # 
Instance details

Defined in Language.Symantic.CLI.Plain

type Perm (Plain d e t) = Compose [] (Plain d e t)

runPlain :: Monoid d => Plain d e t a -> Reader d -> d Source #

coercePlain :: Plain d e t a -> Plain d e u b Source #

textPlain :: Monoid d => Textable d => Plain d e t a -> d Source #