| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cubix.Language.Parametric.Semantics.SemanticProperties
Documentation
class GetStrictness' (gs :: Signature) (f :: (Type -> Type) -> Type -> Type) where Source #
Methods
getStrictness' :: f (Term gs) l -> [Strictness] Source #
Instances
class GetStrictness (fs :: Signature) where Source #
Methods
getStrictness :: Term fs l -> [Strictness] Source #
Instances
| GetStrictness' fs (Sum fs) => GetStrictness fs Source # | |
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
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
| InsertAt' MCSig BlockItemL CStatement Source # | |
Defined in Cubix.Language.C.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MCSig BlockItemL -> (CStatement :&: a) (AnnTerm a MCSig) i -> m (AnnTerm a MCSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (CStatement :&: a) (AnnTerm a MCSig) i -> Bool Source # | |
| InsertAt' MJavaSig BlockItemL Stmt Source # | |
Defined in Cubix.Language.Java.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MJavaSig BlockItemL -> (Stmt :&: a) (AnnTerm a MJavaSig) i -> m (AnnTerm a MJavaSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (Stmt :&: a) (AnnTerm a MJavaSig) i -> Bool Source # | |
| InsertAt' MJSSig JSStatementL JSStatement Source # | |
Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MJSSig JSStatementL -> (JSStatement :&: a) (AnnTerm a MJSSig) i -> m (AnnTerm a MJSSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy JSStatementL -> (JSStatement :&: a) (AnnTerm a MJSSig) i -> Bool Source # | |
| InsertAt' MJSSig JSStatementL ListF Source # | |
Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MJSSig JSStatementL -> (ListF :&: a) (AnnTerm a MJSSig) i -> m (AnnTerm a MJSSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy JSStatementL -> (ListF :&: a) (AnnTerm a MJSSig) i -> Bool Source # | |
| InsertAt' MJSSig BlockItemL JSStatement Source # | |
Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MJSSig BlockItemL -> (JSStatement :&: a) (AnnTerm a MJSSig) i -> m (AnnTerm a MJSSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (JSStatement :&: a) (AnnTerm a MJSSig) i -> Bool Source # | |
| InsertAt' MJSSig BlockItemL ListF Source # | |
Defined in Cubix.Language.JavaScript.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MJSSig BlockItemL -> (ListF :&: a) (AnnTerm a MJSSig) i -> m (AnnTerm a MJSSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (ListF :&: a) (AnnTerm a MJSSig) i -> Bool Source # | |
| InsertAt' MLuaSig BlockItemL ListF Source # | |
Defined in Cubix.Language.Lua.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MLuaSig BlockItemL -> (ListF :&: a) (AnnTerm a MLuaSig) i -> m (AnnTerm a MLuaSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (ListF :&: a) (AnnTerm a MLuaSig) i -> Bool Source # | |
| InsertAt' MPythonSig BlockItemL ListF Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig BlockItemL -> (ListF :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (ListF :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| InsertAt' MPythonSig BlockItemL PyWith Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig BlockItemL -> (PyWith :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (PyWith :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| InsertAt' MPythonSig BlockItemL Statement Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig BlockItemL -> (Statement :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy BlockItemL -> (Statement :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| InsertAt' MPythonSig StatementL ListF Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig StatementL -> (ListF :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy StatementL -> (ListF :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| InsertAt' MPythonSig StatementL PyWith Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig StatementL -> (PyWith :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy StatementL -> (PyWith :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| InsertAt' MPythonSig StatementL Statement Source # | |
Defined in Cubix.Language.Python.Parametric.Common.Semantics Methods insertAt' :: MonadAnnotater a m => NodeEvaluationPoint -> AnnTerm a MPythonSig StatementL -> (Statement :&: a) (AnnTerm a MPythonSig) i -> m (AnnTerm a MPythonSig i) Source # canInsertAt' :: NodeEvaluationPoint -> Proxy StatementL -> (Statement :&: a) (AnnTerm a MPythonSig) i -> Bool Source # | |
| (ListF :-<: gs, All HFunctor gs, KDynCase (Sum gs) l, KDynCase (Sum gs) [l], Typeable l) => InsertAt' gs l ListF Source # | |
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 # | |
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 # | |
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
| InsertAt' gs l (Sum gs) => InsertAt gs l Source # | |
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 #