haxible-0.1.0.0: Ansible interpreter powered by Haxl
Safe HaskellSafe-Inferred
LanguageGHC2021

Haxible.Normalize

Description

This module is the core of Haxible.

Synopsis

Documentation

normalizePlaybook :: [Play] -> [Definition] Source #

Transform a list of Play into a list of Definition.

data Definition Source #

A definition is like a function, to represent a play, a role, or a list of tasks.

Constructors

Definition 

Fields

Instances

Instances details
Show Definition Source # 
Instance details

Defined in Haxible.Normalize

Eq Definition Source # 
Instance details

Defined in Haxible.Normalize

data Expr Source #

An expression is a single instruction.

Constructors

Expr 

Fields

Instances

Instances details
Show Expr Source # 
Instance details

Defined in Haxible.Normalize

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

Eq Expr Source # 
Instance details

Defined in Haxible.Normalize

Methods

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

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

data Term Source #

A term is the expression value.

Instances

Instances details
Show Term Source # 
Instance details

Defined in Haxible.Normalize

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #

Eq Term Source # 
Instance details

Defined in Haxible.Normalize

Methods

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

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

data CallModule Source #

Constructors

CallModule 

Fields

Instances

Instances details
Show CallModule Source # 
Instance details

Defined in Haxible.Normalize

Eq CallModule Source # 
Instance details

Defined in Haxible.Normalize

data CallDefinition Source #

Constructors

CallDefinition 

Fields

Instances

Instances details
Show CallDefinition Source # 
Instance details

Defined in Haxible.Normalize

Eq CallDefinition Source # 
Instance details

Defined in Haxible.Normalize

data Origin Source #

Constructors

Direct Binder 
LoopVar 
Nested Binder Int 

Instances

Instances details
Show Origin Source # 
Instance details

Defined in Haxible.Normalize

Eq Origin Source # 
Instance details

Defined in Haxible.Normalize

Methods

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

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

data Requirement Source #

The requirements indicates what binders are used by an expression.

Constructors

Requirement 

Fields

Instances

Instances details
Show Requirement Source # 
Instance details

Defined in Haxible.Normalize

Eq Requirement Source # 
Instance details

Defined in Haxible.Normalize