cubix
Safe HaskellNone
LanguageHaskell2010

Cubix.Language.Parametric.Semantics.SemanticProperties

Documentation

data Place Source #

Constructors

Place Int 
NegPlace Int 

class GetStrictness' (gs :: Signature) (f :: (Type -> Type) -> Type -> Type) where Source #

Methods

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

Instances

Instances details
GetStrictness' g PyCondExpr Source # 
Instance details

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

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

Defined in Cubix.Language.C.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 #

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

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

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

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

Methods

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

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

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

Methods

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

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

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

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

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 :: Signature) 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 #

defaultGetStrictness :: forall f (e :: Type -> Type) l. HFoldable f => f e l -> [Strictness] Source #

data NodeEvaluationPoint Source #

Instances

Instances details
Generic NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Associated Types

type Rep NodeEvaluationPoint 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

type Rep NodeEvaluationPoint = D1 ('MetaData "NodeEvaluationPoint" "Cubix.Language.Parametric.Semantics.SemanticProperties" "cubix-0.7.0.15-inplace" '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)))
Show NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

NFData NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Methods

rnf :: NodeEvaluationPoint -> () #

Eq NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

Ord NodeEvaluationPoint Source # 
Instance details

Defined in Cubix.Language.Parametric.Semantics.SemanticProperties

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.7.0.15-inplace" '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 :: Signature) l (f :: Node) 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
InsertAt' MCSig BlockItemL CStatement Source # 
Instance details

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

InsertAt' MJavaSig BlockItemL Stmt Source # 
Instance details

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

InsertAt' MJSSig JSStatementL 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 BlockItemL JSStatement Source # 
Instance details

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

InsertAt' MJSSig BlockItemL ListF Source # 
Instance details

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

InsertAt' MLuaSig BlockItemL ListF Source # 
Instance details

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

InsertAt' MPythonSig BlockItemL ListF 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 BlockItemL Statement 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 PyWith 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

(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 #

(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 :: Signature) 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 :: forall (gs :: Signature) l a m i. (InsertAt gs l, MonadAnnotater a m) => AnnTerm a gs l -> AnnTerm a gs i -> m (AnnTerm a gs i) Source #

canInsertBefore :: forall (gs :: Signature) l a i. InsertAt gs l => Proxy l -> AnnTerm a gs i -> Bool Source #