gf-3.11: Grammatical Framework
Stabilityprovisional
Safe HaskellNone
LanguageHaskell2010

GF.Grammar.Canonical

Description

Abstract syntax for canonical GF grammars, i.e. what's left after high-level constructions such as functors and opers have been eliminated by partial evaluation. This is intended as a common intermediate representation to simplify export to other formats.

Synopsis

Documentation

data Grammar Source #

A Complete grammar

Constructors

Grammar Abstract [Concrete] 

Instances

Instances details
Show Grammar Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON Grammar Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty Grammar Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: Grammar -> Doc Source #

ppList :: [Grammar] -> Doc Source #

Abstract Syntax

data Abstract Source #

Abstract Syntax

Constructors

Abstract ModId Flags [CatDef] [FunDef] 

Instances

Instances details
Show Abstract Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON Abstract Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty Abstract Source # 
Instance details

Defined in GF.Grammar.Canonical

data CatDef Source #

Constructors

CatDef CatId [CatId] 

Instances

Instances details
Show CatDef Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON CatDef Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty CatDef Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: CatDef -> Doc Source #

ppList :: [CatDef] -> Doc Source #

data FunDef Source #

Constructors

FunDef FunId Type 

Instances

Instances details
Show FunDef Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON FunDef Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty FunDef Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: FunDef -> Doc Source #

ppList :: [FunDef] -> Doc Source #

data Type Source #

Constructors

Type [TypeBinding] TypeApp 

Instances

Instances details
Show Type Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> Type -> ShowS #

show :: Type -> String #

showList :: [Type] -> ShowS #

JSON Type Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty Type Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: Type -> Doc Source #

ppList :: [Type] -> Doc Source #

PPA Type Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: Type -> Doc Source #

data TypeApp Source #

Constructors

TypeApp CatId [Type] 

Instances

Instances details
Show TypeApp Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON TypeApp Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty TypeApp Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: TypeApp -> Doc Source #

ppList :: [TypeApp] -> Doc Source #

Concreate syntax

data Concrete Source #

Concrete Syntax

Instances

Instances details
Show Concrete Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON Concrete Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty Concrete Source # 
Instance details

Defined in GF.Grammar.Canonical

data LincatDef Source #

Constructors

LincatDef CatId LinType 

Instances

Instances details
Show LincatDef Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON LincatDef Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty LincatDef Source # 
Instance details

Defined in GF.Grammar.Canonical

data LinDef Source #

Constructors

LinDef FunId [VarId] LinValue 

Instances

Instances details
Show LinDef Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON LinDef Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty LinDef Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: LinDef -> Doc Source #

ppList :: [LinDef] -> Doc Source #

data LinType Source #

Linearization type, RHS of lincat

Instances

Instances details
Eq LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: LinType -> LinType -> Bool #

(/=) :: LinType -> LinType -> Bool #

Ord LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

Show LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON LinType Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: LinType -> Doc Source #

ppList :: [LinType] -> Doc Source #

RhsSeparator LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

rhsSep :: LinType -> Doc Source #

data LinValue Source #

Linearization value, RHS of lin

Instances

Instances details
Eq LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Ord LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Show LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON LinValue Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

RhsSeparator LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

rhsSep :: LinValue -> Doc Source #

PPA LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: LinValue -> Doc Source #

data LinPattern Source #

data Param arg Source #

Constructors

Param ParamId [arg] 

Instances

Instances details
Functor Param Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fmap :: (a -> b) -> Param a -> Param b #

(<$) :: a -> Param b -> Param a #

Foldable Param Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fold :: Monoid m => Param m -> m #

foldMap :: Monoid m => (a -> m) -> Param a -> m #

foldMap' :: Monoid m => (a -> m) -> Param a -> m #

foldr :: (a -> b -> b) -> b -> Param a -> b #

foldr' :: (a -> b -> b) -> b -> Param a -> b #

foldl :: (b -> a -> b) -> b -> Param a -> b #

foldl' :: (b -> a -> b) -> b -> Param a -> b #

foldr1 :: (a -> a -> a) -> Param a -> a #

foldl1 :: (a -> a -> a) -> Param a -> a #

toList :: Param a -> [a] #

null :: Param a -> Bool #

length :: Param a -> Int #

elem :: Eq a => a -> Param a -> Bool #

maximum :: Ord a => Param a -> a #

minimum :: Ord a => Param a -> a #

sum :: Num a => Param a -> a #

product :: Num a => Param a -> a #

Traversable Param Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

traverse :: Applicative f => (a -> f b) -> Param a -> f (Param b) #

sequenceA :: Applicative f => Param (f a) -> f (Param a) #

mapM :: Monad m => (a -> m b) -> Param a -> m (Param b) #

sequence :: Monad m => Param (m a) -> m (Param a) #

Eq arg => Eq (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: Param arg -> Param arg -> Bool #

(/=) :: Param arg -> Param arg -> Bool #

Ord arg => Ord (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

compare :: Param arg -> Param arg -> Ordering #

(<) :: Param arg -> Param arg -> Bool #

(<=) :: Param arg -> Param arg -> Bool #

(>) :: Param arg -> Param arg -> Bool #

(>=) :: Param arg -> Param arg -> Bool #

max :: Param arg -> Param arg -> Param arg #

min :: Param arg -> Param arg -> Param arg #

Show arg => Show (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> Param arg -> ShowS #

show :: Param arg -> String #

showList :: [Param arg] -> ShowS #

JSON arg => JSON (Param arg) Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Methods

readJSON :: JSValue -> Result (Param arg) #

showJSON :: Param arg -> JSValue #

readJSONs :: JSValue -> Result [Param arg] #

showJSONs :: [Param arg] -> JSValue #

PPA arg => Pretty (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: Param arg -> Doc Source #

ppList :: [Param arg] -> Doc Source #

PPA arg => PPA (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: Param arg -> Doc Source #

data RecordRow rhs Source #

Constructors

RecordRow LabelId rhs 

Instances

Instances details
Functor RecordRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fmap :: (a -> b) -> RecordRow a -> RecordRow b #

(<$) :: a -> RecordRow b -> RecordRow a #

Foldable RecordRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fold :: Monoid m => RecordRow m -> m #

foldMap :: Monoid m => (a -> m) -> RecordRow a -> m #

foldMap' :: Monoid m => (a -> m) -> RecordRow a -> m #

foldr :: (a -> b -> b) -> b -> RecordRow a -> b #

foldr' :: (a -> b -> b) -> b -> RecordRow a -> b #

foldl :: (b -> a -> b) -> b -> RecordRow a -> b #

foldl' :: (b -> a -> b) -> b -> RecordRow a -> b #

foldr1 :: (a -> a -> a) -> RecordRow a -> a #

foldl1 :: (a -> a -> a) -> RecordRow a -> a #

toList :: RecordRow a -> [a] #

null :: RecordRow a -> Bool #

length :: RecordRow a -> Int #

elem :: Eq a => a -> RecordRow a -> Bool #

maximum :: Ord a => RecordRow a -> a #

minimum :: Ord a => RecordRow a -> a #

sum :: Num a => RecordRow a -> a #

product :: Num a => RecordRow a -> a #

Traversable RecordRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

traverse :: Applicative f => (a -> f b) -> RecordRow a -> f (RecordRow b) #

sequenceA :: Applicative f => RecordRow (f a) -> f (RecordRow a) #

mapM :: Monad m => (a -> m b) -> RecordRow a -> m (RecordRow b) #

sequence :: Monad m => RecordRow (m a) -> m (RecordRow a) #

Eq rhs => Eq (RecordRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: RecordRow rhs -> RecordRow rhs -> Bool #

(/=) :: RecordRow rhs -> RecordRow rhs -> Bool #

Ord rhs => Ord (RecordRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

compare :: RecordRow rhs -> RecordRow rhs -> Ordering #

(<) :: RecordRow rhs -> RecordRow rhs -> Bool #

(<=) :: RecordRow rhs -> RecordRow rhs -> Bool #

(>) :: RecordRow rhs -> RecordRow rhs -> Bool #

(>=) :: RecordRow rhs -> RecordRow rhs -> Bool #

max :: RecordRow rhs -> RecordRow rhs -> RecordRow rhs #

min :: RecordRow rhs -> RecordRow rhs -> RecordRow rhs #

Show rhs => Show (RecordRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> RecordRow rhs -> ShowS #

show :: RecordRow rhs -> String #

showList :: [RecordRow rhs] -> ShowS #

JSON a => JSON (RecordRow a) Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

RhsSeparator rhs => Pretty (RecordRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: RecordRow rhs -> Doc Source #

ppList :: [RecordRow rhs] -> Doc Source #

data TableRow rhs Source #

Constructors

TableRow LinPattern rhs 

Instances

Instances details
Functor TableRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fmap :: (a -> b) -> TableRow a -> TableRow b #

(<$) :: a -> TableRow b -> TableRow a #

Foldable TableRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

fold :: Monoid m => TableRow m -> m #

foldMap :: Monoid m => (a -> m) -> TableRow a -> m #

foldMap' :: Monoid m => (a -> m) -> TableRow a -> m #

foldr :: (a -> b -> b) -> b -> TableRow a -> b #

foldr' :: (a -> b -> b) -> b -> TableRow a -> b #

foldl :: (b -> a -> b) -> b -> TableRow a -> b #

foldl' :: (b -> a -> b) -> b -> TableRow a -> b #

foldr1 :: (a -> a -> a) -> TableRow a -> a #

foldl1 :: (a -> a -> a) -> TableRow a -> a #

toList :: TableRow a -> [a] #

null :: TableRow a -> Bool #

length :: TableRow a -> Int #

elem :: Eq a => a -> TableRow a -> Bool #

maximum :: Ord a => TableRow a -> a #

minimum :: Ord a => TableRow a -> a #

sum :: Num a => TableRow a -> a #

product :: Num a => TableRow a -> a #

Traversable TableRow Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

traverse :: Applicative f => (a -> f b) -> TableRow a -> f (TableRow b) #

sequenceA :: Applicative f => TableRow (f a) -> f (TableRow a) #

mapM :: Monad m => (a -> m b) -> TableRow a -> m (TableRow b) #

sequence :: Monad m => TableRow (m a) -> m (TableRow a) #

Eq rhs => Eq (TableRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: TableRow rhs -> TableRow rhs -> Bool #

(/=) :: TableRow rhs -> TableRow rhs -> Bool #

Ord rhs => Ord (TableRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

compare :: TableRow rhs -> TableRow rhs -> Ordering #

(<) :: TableRow rhs -> TableRow rhs -> Bool #

(<=) :: TableRow rhs -> TableRow rhs -> Bool #

(>) :: TableRow rhs -> TableRow rhs -> Bool #

(>=) :: TableRow rhs -> TableRow rhs -> Bool #

max :: TableRow rhs -> TableRow rhs -> TableRow rhs #

min :: TableRow rhs -> TableRow rhs -> TableRow rhs #

Show rhs => Show (TableRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> TableRow rhs -> ShowS #

show :: TableRow rhs -> String #

showList :: [TableRow rhs] -> ShowS #

JSON rhs => JSON (TableRow rhs) Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty rhs => Pretty (TableRow rhs) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: TableRow rhs -> Doc Source #

ppList :: [TableRow rhs] -> Doc Source #

Identifiers in Concrete Syntax

newtype PredefId Source #

Constructors

PredefId Id 

Instances

Instances details
Eq PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

Ord PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

Show PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON PredefId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

PPA PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: PredefId -> Doc Source #

newtype LabelId Source #

Constructors

LabelId Id 

Instances

Instances details
Eq LabelId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: LabelId -> LabelId -> Bool #

(/=) :: LabelId -> LabelId -> Bool #

Ord LabelId Source # 
Instance details

Defined in GF.Grammar.Canonical

Show LabelId Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON LabelId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty LabelId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: LabelId -> Doc Source #

ppList :: [LabelId] -> Doc Source #

newtype ParamId Source #

Name of param type or param value

Constructors

ParamId QualId 

Instances

Instances details
Eq ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: ParamId -> ParamId -> Bool #

(/=) :: ParamId -> ParamId -> Bool #

Ord ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

Show ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON ParamId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: ParamId -> Doc Source #

ppList :: [ParamId] -> Doc Source #

PPA ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: ParamId -> Doc Source #

Used in both Abstract and Concrete Syntax

newtype ModId Source #

Constructors

ModId Id 

Instances

Instances details
Eq ModId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: ModId -> ModId -> Bool #

(/=) :: ModId -> ModId -> Bool #

Ord ModId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

compare :: ModId -> ModId -> Ordering #

(<) :: ModId -> ModId -> Bool #

(<=) :: ModId -> ModId -> Bool #

(>) :: ModId -> ModId -> Bool #

(>=) :: ModId -> ModId -> Bool #

max :: ModId -> ModId -> ModId #

min :: ModId -> ModId -> ModId #

Show ModId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> ModId -> ShowS #

show :: ModId -> String #

showList :: [ModId] -> ShowS #

JSON ModId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty ModId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: ModId -> Doc Source #

ppList :: [ModId] -> Doc Source #

newtype CatId Source #

Constructors

CatId Id 

Instances

Instances details
Eq CatId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: CatId -> CatId -> Bool #

(/=) :: CatId -> CatId -> Bool #

Ord CatId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

compare :: CatId -> CatId -> Ordering #

(<) :: CatId -> CatId -> Bool #

(<=) :: CatId -> CatId -> Bool #

(>) :: CatId -> CatId -> Bool #

(>=) :: CatId -> CatId -> Bool #

max :: CatId -> CatId -> CatId #

min :: CatId -> CatId -> CatId #

Show CatId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> CatId -> ShowS #

show :: CatId -> String #

showList :: [CatId] -> ShowS #

JSON CatId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty CatId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: CatId -> Doc Source #

ppList :: [CatId] -> Doc Source #

newtype FunId Source #

Constructors

FunId Id 

Instances

Instances details
Eq FunId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: FunId -> FunId -> Bool #

(/=) :: FunId -> FunId -> Bool #

Show FunId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> FunId -> ShowS #

show :: FunId -> String #

showList :: [FunId] -> ShowS #

JSON FunId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty FunId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: FunId -> Doc Source #

ppList :: [FunId] -> Doc Source #

data VarId Source #

Constructors

Anonymous 
VarId Id 

Instances

Instances details
Show VarId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> VarId -> ShowS #

show :: VarId -> String #

showList :: [VarId] -> ShowS #

JSON VarId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty VarId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: VarId -> Doc Source #

ppList :: [VarId] -> Doc Source #

newtype Flags Source #

Constructors

Flags [(FlagName, FlagValue)] 

Instances

Instances details
Show Flags Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

showsPrec :: Int -> Flags -> ShowS #

show :: Flags -> String #

showList :: [Flags] -> ShowS #

JSON Flags Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty Flags Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: Flags -> Doc Source #

ppList :: [Flags] -> Doc Source #

data FlagValue Source #

Constructors

Str String 
Int Int 
Flt Double 

Instances

Instances details
Show FlagValue Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON FlagValue Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty FlagValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Identifiers

data QualId Source #

Constructors

Qual ModId Id 
Unqual Id 

Instances

Instances details
Eq QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

(==) :: QualId -> QualId -> Bool #

(/=) :: QualId -> QualId -> Bool #

Ord QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

Show QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

JSON QualId Source # 
Instance details

Defined in GF.Grammar.CanonicalJSON

Pretty QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

pp :: QualId -> Doc Source #

ppList :: [QualId] -> Doc Source #

PPA QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: QualId -> Doc Source #

Pretty printing

class Pretty a => PPA a where Source #

Pretty print atomically (i.e. wrap it in parentheses if necessary)

Methods

ppA :: a -> Doc Source #

Instances

Instances details
PPA QualId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: QualId -> Doc Source #

PPA ParamId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: ParamId -> Doc Source #

PPA PredefId Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: PredefId -> Doc Source #

PPA LinPattern Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: LinPattern -> Doc Source #

PPA LinLiteral Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: LinLiteral -> Doc Source #

PPA LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: LinValue -> Doc Source #

PPA Type Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: Type -> Doc Source #

PPA arg => PPA (Param arg) Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

ppA :: Param arg -> Doc Source #

class Pretty rhs => RhsSeparator rhs where Source #

Methods

rhsSep :: rhs -> Doc Source #

Instances

Instances details
RhsSeparator LinPattern Source # 
Instance details

Defined in GF.Grammar.Canonical

RhsSeparator LinValue Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

rhsSep :: LinValue -> Doc Source #

RhsSeparator LinType Source # 
Instance details

Defined in GF.Grammar.Canonical

Methods

rhsSep :: LinType -> Doc Source #

semiSep :: Pretty a2 => [a2] -> [Doc] Source #

block :: Pretty a2 => [a2] -> Doc Source #