eo-phi-normalizer-2.2.2: Command line normalizer of 𝜑-calculus expressions.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.EO.Phi.Rules.Yaml

Synopsis

Documentation

>>> :set -XOverloadedStrings
>>> :set -XOverloadedLists

data RuleSet Source #

Constructors

RuleSet 

Fields

Instances

Instances details
FromJSON RuleSet Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic RuleSet Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep RuleSet :: Type -> Type #

Methods

from :: RuleSet -> Rep RuleSet x #

to :: Rep RuleSet x -> RuleSet #

Show RuleSet Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleSet Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleSet = D1 ('MetaData "RuleSet" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "RuleSet" 'PrefixI 'True) (S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "rules") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Rule])))

data RuleContext Source #

Instances

Instances details
FromJSON RuleContext Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic RuleContext Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep RuleContext :: Type -> Type #

Show RuleContext Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

ToLatex RuleContext Source # 
Instance details

Defined in Language.EO.Phi.ToLaTeX

type Rep RuleContext Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleContext = D1 ('MetaData "RuleContext" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "RuleContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "global_object") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Object)) :*: (S1 ('MetaSel ('Just "current_object") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Object)) :*: S1 ('MetaSel ('Just "current_attribute") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Attribute)))))

data Rule Source #

Instances

Instances details
FromJSON Rule Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic Rule Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep Rule :: Type -> Type #

Methods

from :: Rule -> Rep Rule x #

to :: Rep Rule x -> Rule #

Show Rule Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Methods

showsPrec :: Int -> Rule -> ShowS #

show :: Rule -> String #

showList :: [Rule] -> ShowS #

ToLatex Rule Source # 
Instance details

Defined in Language.EO.Phi.ToLaTeX

ToLatex [Rule] Source # 
Instance details

Defined in Language.EO.Phi.ToLaTeX

type Rep Rule Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

data FreshMetaId Source #

Constructors

FreshMetaId 

Instances

Instances details
FromJSON FreshMetaId Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic FreshMetaId Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep FreshMetaId :: Type -> Type #

Show FreshMetaId Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep FreshMetaId Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep FreshMetaId = D1 ('MetaData "FreshMetaId" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "FreshMetaId" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LabelMetaId) :*: S1 ('MetaSel ('Just "prefix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe String))))

data RuleTest Source #

Constructors

RuleTest 

Instances

Instances details
FromJSON RuleTest Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic RuleTest Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep RuleTest :: Type -> Type #

Methods

from :: RuleTest -> Rep RuleTest x #

to :: Rep RuleTest x -> RuleTest #

Show RuleTest Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleTest Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleTest = D1 ('MetaData "RuleTest" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "RuleTest" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "input") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Object)) :*: (S1 ('MetaSel ('Just "output") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Object]) :*: S1 ('MetaSel ('Just "options") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe [RuleTestOption])))))

newtype RuleTestOption Source #

Constructors

TakeOne 

Fields

Instances

Instances details
FromJSON RuleTestOption Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic RuleTestOption Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep RuleTestOption :: Type -> Type #

Show RuleTestOption Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Eq RuleTestOption Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleTestOption Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep RuleTestOption = D1 ('MetaData "RuleTestOption" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'True) (C1 ('MetaCons "TakeOne" 'PrefixI 'True) (S1 ('MetaSel ('Just "take_one") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))

data AttrsInBindings Source #

Constructors

AttrsInBindings 

Fields

Instances

Instances details
FromJSON AttrsInBindings Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic AttrsInBindings Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep AttrsInBindings :: Type -> Type #

Show AttrsInBindings Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep AttrsInBindings Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep AttrsInBindings = D1 ('MetaData "AttrsInBindings" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "AttrsInBindings" 'PrefixI 'True) (S1 ('MetaSel ('Just "attrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RuleAttribute]) :*: S1 ('MetaSel ('Just "bindings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Binding])))

data Condition Source #

Instances

Instances details
FromJSON Condition Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Generic Condition Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep Condition :: Type -> Type #

Show Condition Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

ToLatex Condition Source # 
Instance details

Defined in Language.EO.Phi.ToLaTeX

type Rep Condition Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep Condition = D1 ('MetaData "Condition" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) ((C1 ('MetaCons "IsNF" 'PrefixI 'True) (S1 ('MetaSel ('Just "nf") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Object)) :+: (C1 ('MetaCons "IsNFInsideFormation" 'PrefixI 'True) (S1 ('MetaSel ('Just "nf_inside_formation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Object)) :+: C1 ('MetaCons "PresentAttrs" 'PrefixI 'True) (S1 ('MetaSel ('Just "present_attrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AttrsInBindings)))) :+: ((C1 ('MetaCons "AbsentAttrs" 'PrefixI 'True) (S1 ('MetaSel ('Just "absent_attrs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AttrsInBindings)) :+: C1 ('MetaCons "AttrNotEqual" 'PrefixI 'True) (S1 ('MetaSel ('Just "not_equal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Attribute, Attribute)))) :+: (C1 ('MetaCons "ApplyInSubformations" 'PrefixI 'True) (S1 ('MetaSel ('Just "apply_in_subformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :+: C1 ('MetaCons "ApplyInAbstractSubformations" 'PrefixI 'True) (S1 ('MetaSel ('Just "apply_in_abstract_subformations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))))

checkCond :: Context -> Condition -> Subst -> Bool Source #

Given a condition, and a substition from object matching tells whether the condition matches the object

data Subst Source #

Instances

Instances details
Monoid Subst Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Methods

mempty :: Subst #

mappend :: Subst -> Subst -> Subst #

mconcat :: [Subst] -> Subst #

Semigroup Subst Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Methods

(<>) :: Subst -> Subst -> Subst #

sconcat :: NonEmpty Subst -> Subst #

stimes :: Integral b => b -> Subst -> Subst #

Show Subst Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Methods

showsPrec :: Int -> Subst -> ShowS #

show :: Subst -> String #

showList :: [Subst] -> ShowS #

evaluateMetaFuncs :: Object -> Object -> Object Source #

Evaluate meta functions given top-level context as an object and an object

data MetaState Source #

Constructors

MetaState 

Instances

Instances details
Generic MetaState Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

Associated Types

type Rep MetaState :: Type -> Type #

type Rep MetaState Source # 
Instance details

Defined in Language.EO.Phi.Rules.Yaml

type Rep MetaState = D1 ('MetaData "MetaState" "Language.EO.Phi.Rules.Yaml" "eo-phi-normalizer-2.2.2-8uhvVJ4kNK79JRvN7mlnln" 'False) (C1 ('MetaCons "MetaState" 'PrefixI 'False) (U1 :: Type -> Type))

select :: [a] -> [(a, [a])] Source #

Orphan instances

FromJSON AlphaIndex Source # 
Instance details

FromJSON Attribute Source # 
Instance details

FromJSON Binding Source # 
Instance details

FromJSON BindingsMetaId Source # 
Instance details

FromJSON BytesMetaId Source # 
Instance details

FromJSON LabelId Source # 
Instance details

FromJSON LabelMetaId Source # 
Instance details

FromJSON MetaId Source # 
Instance details

FromJSON Object Source # 
Instance details

FromJSON ObjectMetaId Source # 
Instance details

FromJSON RuleAttribute Source # 
Instance details

FromJSON TailMetaId Source # 
Instance details