cubix-0.1.0.0: A framework for multi-language transformation
Safe HaskellNone
LanguageHaskell2010

Cubix.Language.Parametric.Semantics.SemanticProperties

Documentation

data Place Source #

Constructors

Place Int 
NegPlace Int 

class GetStrictness' gs f where Source #

Methods

getStrictness' :: f (Term gs) l -> [Strictness] Source #

Instances

Instances details
HFoldable f => GetStrictness' gs f Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

getStrictness' :: f (Term gs) l -> [Strictness] Source #

GetStrictness' g PyCondExpr Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

Op :-<: gs => GetStrictness' gs Expr Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

Methods

getStrictness' :: Expr (Term gs) l -> [Strictness] Source #

Binop :-<: gs => GetStrictness' gs Exp Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Semantics

Methods

getStrictness' :: Exp (Term gs) l -> [Strictness] Source #

JSBinOp :-<: gs => GetStrictness' gs JSExpression Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics

Op :-<: gs => GetStrictness' gs Exp Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Semantics

Methods

getStrictness' :: Exp (Term gs) l -> [Strictness] Source #

CBinaryOp :-<: gs => GetStrictness' gs CExpression Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Semantics

All (GetStrictness' gs) fs => GetStrictness' gs (Sum fs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

getStrictness' :: Sum fs (Term gs) l -> [Strictness] Source #

class GetStrictness fs where Source #

Methods

getStrictness :: Term fs l -> [Strictness] Source #

Instances

Instances details
GetStrictness' fs (Sum fs) => GetStrictness fs Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

getStrictness :: Term fs l -> [Strictness] Source #

data NodeEvaluationPoint Source #

Instances

Instances details
Eq NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Ord NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Show NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Generic NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Associated Types

type Rep NodeEvaluationPoint :: Type -> Type #

NFData NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

rnf :: NodeEvaluationPoint -> () #

type Rep NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

type Rep NodeEvaluationPoint = D1 ('MetaData "NodeEvaluationPoint" "Cubix.Language.Parametric.Semantics.SemanticProperties" "cubix-0.1.0.0-GE3qzSJT6A0CUj1veI8jGO" 'False) ((C1 ('MetaCons "EnterEvalPoint" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LoopEntryPoint" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BeforeIntermediateEvalPoint" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :+: C1 ('MetaCons "ExitEvalPoint" 'PrefixI 'False) (U1 :: Type -> Type)))

class DynCase (Term gs) l => InsertAt' gs l f where Source #

Methods

insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> (f :&: a) (AnnTerm a gs) i -> m (AnnTerm a gs i) Source #

canInsertAt' :: NodeEvaluationPoint -> Proxy l -> (f :&: a) (AnnTerm a gs) i -> Bool Source #

Instances

Instances details
(ListF :-<: gs, All HFunctor gs, KDynCase (Sum gs) l, KDynCase (Sum gs) [l], Typeable l) => InsertAt' gs l ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> (ListF :&: a) (AnnTerm a gs) i -> m (AnnTerm a gs i) Source #

canInsertAt' :: NodeEvaluationPoint -> Proxy l -> (ListF :&: a) (AnnTerm a gs) i -> Bool Source #

(f :-<: gs, DynCase (Term gs) l) => InsertAt' gs l f Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> (f :&: a) (AnnTerm a gs) i -> m (AnnTerm a gs i) Source #

canInsertAt' :: NodeEvaluationPoint -> Proxy l -> (f :&: a) (AnnTerm a gs) i -> Bool Source #

InsertAt' MPythonSig BlockItemL ListF Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MPythonSig BlockItemL Statement Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MPythonSig BlockItemL PyWith Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MPythonSig StatementL ListF Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MPythonSig StatementL Statement Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MPythonSig StatementL PyWith Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Semantics

InsertAt' MLuaSig BlockItemL ListF Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Semantics

InsertAt' MJSSig BlockItemL ListF Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics

InsertAt' MJSSig BlockItemL JSStatement Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics

InsertAt' MJSSig JSStatementL ListF Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics

InsertAt' MJSSig JSStatementL JSStatement Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics

InsertAt' MJavaSig BlockItemL Stmt Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Semantics

InsertAt' MCSig BlockItemL CStatement Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Semantics

(All (InsertAt' gs l) fs, DynCase (Term gs) l) => InsertAt' gs l (Sum fs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> (Sum fs :&: a) (AnnTerm a gs) i -> m (AnnTerm a gs i) Source #

canInsertAt' :: NodeEvaluationPoint -> Proxy l -> (Sum fs :&: a) (AnnTerm a gs) i -> Bool Source #

class InsertAt gs l where Source #

Methods

insertAt :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> AnnTerm a gs i -> m (AnnTerm a gs i) Source #

canInsertAt :: NodeEvaluationPoint -> Proxy l -> AnnTerm a gs i -> Bool Source #

Instances

Instances details
InsertAt' gs l (Sum gs) => InsertAt gs l Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

insertAt :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a gs l -> AnnTerm a gs i -> m (AnnTerm a gs i) Source #

canInsertAt :: NodeEvaluationPoint -> Proxy l -> AnnTerm a gs i -> Bool Source #

insertBefore :: (InsertAt gs l, MonadAnnotater a m) => AnnTerm a gs l -> AnnTerm a gs i -> m (AnnTerm a gs i) Source #

canInsertBefore :: InsertAt gs l => Proxy l -> AnnTerm a gs i -> Bool Source #