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

Cubix.Language.Parametric.Syntax

Synopsis

Documentation

data BoolF (e :: * -> *) l where Source #

Constructors

BoolF :: Bool -> BoolF e BoolL 

Instances

Instances details
ShowHF BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

OrdHF BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => BoolF a i -> BoolF a j -> Ordering #

EqHF BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => BoolF g i -> BoolF g j -> Bool #

HTraversable BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (BoolF a) (BoolF b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (BoolF a) (BoolF b) #

HFoldable BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfold :: Monoid m => BoolF (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> BoolF a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> BoolF a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> BoolF a :=> b #

hfoldr1 :: (a -> a -> a) -> BoolF (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> BoolF (K a) :=> a #

HFunctor BoolF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> BoolF f :-> BoolF g #

CfgInitState MCSig Source # 
Instance details

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

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MCSig (RootSort MCSig))) Source #

KDynCase BoolF BoolL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. BoolF e b -> Maybe (b :~: BoolL) #

InjF MCSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LhsL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LhsL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a PositionalArgExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a CExpressionL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a MultiLocalVarDeclL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a MultiLocalVarDeclL) Source #

InjF MCSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a AssignL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a AssignL) Source #

InjF MCSig CStatementL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CStatementL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a CStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a CStatementL) Source #

InjF MCSig CExpressionL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> CxtS h MCSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MCSig :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LocalVarInitL -> Maybe (CxtS h MCSig a CExpressionL) Source #

InsertAt' MCSig BlockItemL CStatement Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data BoolL Source #

Instances

Instances details
KDynCase BoolF BoolL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. BoolF e b -> Maybe (b :~: BoolL) #

data IntF (e :: * -> *) l where Source #

Constructors

IntF :: Int -> IntF e IntL 

Instances

Instances details
ShowHF IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

OrdHF IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => IntF a i -> IntF a j -> Ordering #

EqHF IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => IntF g i -> IntF g j -> Bool #

HTraversable IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (IntF a) (IntF b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (IntF a) (IntF b) #

HFoldable IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfold :: Monoid m => IntF (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> IntF a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> IntF a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> IntF a :=> b #

hfoldr1 :: (a -> a -> a) -> IntF (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> IntF (K a) :=> a #

HFunctor IntF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> IntF f :-> IntF g #

CfgInitState MCSig Source # 
Instance details

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

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MCSig (RootSort MCSig))) Source #

KDynCase IntF IntL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. IntF e b -> Maybe (b :~: IntL) #

InjF MCSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LhsL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LhsL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a PositionalArgExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a CExpressionL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a MultiLocalVarDeclL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a MultiLocalVarDeclL) Source #

InjF MCSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a AssignL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a AssignL) Source #

InjF MCSig CStatementL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CStatementL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a CStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a CStatementL) Source #

InjF MCSig CExpressionL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> CxtS h MCSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MCSig :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LocalVarInitL -> Maybe (CxtS h MCSig a CExpressionL) Source #

InsertAt' MCSig BlockItemL CStatement Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data IntL Source #

Instances

Instances details
KDynCase IntF IntL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. IntF e b -> Maybe (b :~: IntL) #

data IntegerF (e :: * -> *) l where Source #

Constructors

IntegerF :: Integer -> IntegerF e IntegerL 

Instances

Instances details
ShowHF IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

OrdHF IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => IntegerF a i -> IntegerF a j -> Ordering #

EqHF IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => IntegerF g i -> IntegerF g j -> Bool #

HTraversable IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (IntegerF a) (IntegerF b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (IntegerF a) (IntegerF b) #

HFoldable IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfold :: Monoid m => IntegerF (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> IntegerF a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> IntegerF a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> IntegerF a :=> b #

hfoldr1 :: (a -> a -> a) -> IntegerF (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> IntegerF (K a) :=> a #

HFunctor IntegerF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> IntegerF f :-> IntegerF g #

CfgInitState MCSig Source # 
Instance details

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

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MCSig (RootSort MCSig))) Source #

KDynCase IntegerF IntegerL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. IntegerF e b -> Maybe (b :~: IntegerL) #

InjF MCSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LhsL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LhsL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a PositionalArgExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a CExpressionL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a MultiLocalVarDeclL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a MultiLocalVarDeclL) Source #

InjF MCSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a AssignL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a AssignL) Source #

InjF MCSig CStatementL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CStatementL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a CStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a CStatementL) Source #

InjF MCSig CExpressionL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> CxtS h MCSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MCSig :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LocalVarInitL -> Maybe (CxtS h MCSig a CExpressionL) Source #

InsertAt' MCSig BlockItemL CStatement Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data IntegerL Source #

Instances

Instances details
KDynCase IntegerF IntegerL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. IntegerF e b -> Maybe (b :~: IntegerL) #

data CharF (e :: * -> *) l where Source #

Constructors

CharF :: Char -> CharF e CharL 

Instances

Instances details
ShowHF CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

OrdHF CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => CharF a i -> CharF a j -> Ordering #

EqHF CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => CharF g i -> CharF g j -> Bool #

HTraversable CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (CharF a) (CharF b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (CharF a) (CharF b) #

HFoldable CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfold :: Monoid m => CharF (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> CharF a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> CharF a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> CharF a :=> b #

hfoldr1 :: (a -> a -> a) -> CharF (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> CharF (K a) :=> a #

HFunctor CharF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> CharF f :-> CharF g #

CfgInitState MPythonSig Source # 
Instance details

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

Pretty MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

KDynCase CharF CharL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. CharF e b -> Maybe (b :~: CharL) #

InjF MPythonSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a LhsL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a LhsL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a FunctionExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a PositionalArgExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL ExprL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a ExprL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a ExprL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a ExprL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a AssignL -> CxtS h MPythonSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MPythonSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a BlockItemL -> Maybe (CxtS h MPythonSig a AssignL) 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

InjF MPythonSig [PyLValueL] LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a [PyLValueL] -> CxtS h MPythonSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a LhsL -> Maybe (Cxt h (Sum MPythonSig :&: p) a [PyLValueL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a LhsL -> Maybe (CxtS h MPythonSig a [PyLValueL]) Source #

type CfgState MPythonSig Source # 
Instance details

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

type ContainerFunctors MPythonSig Source # 
Instance details

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

type SuspendedComputationSorts MPythonSig Source # 
Instance details

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

type ComputationSorts MPythonSig Source # 
Instance details

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

type InjectableSorts MPythonSig AssignL Source # 
Instance details

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

data CharL Source #

Instances

Instances details
KDynCase CharF CharL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. CharF e b -> Maybe (b :~: CharL) #

data UnitF (e :: * -> *) l where Source #

Constructors

UnitF :: UnitF e () 

Instances

Instances details
ShowHF UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

OrdHF UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => UnitF a i -> UnitF a j -> Ordering #

EqHF UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => UnitF g i -> UnitF g j -> Bool #

HTraversable UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (UnitF a) (UnitF b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (UnitF a) (UnitF b) #

HFoldable UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfold :: Monoid m => UnitF (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> UnitF a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> UnitF a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> UnitF a :=> b #

hfoldr1 :: (a -> a -> a) -> UnitF (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> UnitF (K a) :=> a #

HFunctor UnitF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> UnitF f :-> UnitF g #

CfgInitState MPythonSig Source # 
Instance details

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

CfgInitState MLuaSig Source # 
Instance details

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

CfgInitState MCSig Source # 
Instance details

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

Pretty MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MLuaSig (RootSort MLuaSig))) Source #

ParseFile MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MCSig (RootSort MCSig))) Source #

KDynCase UnitF () Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Base

Methods

kdyncase :: forall (e :: Type -> Type) b. UnitF e b -> Maybe (b :~: ()) #

InjF MPythonSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a LhsL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a LhsL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a FunctionExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a PositionalArgExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL ExprL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a ExprL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a ExprL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a ExprL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a AssignL -> CxtS h MPythonSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MPythonSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a BlockItemL -> Maybe (CxtS h MPythonSig a AssignL) Source #

InjF MLuaSig IdentL VarDeclBinderL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a VarDeclBinderL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a VarDeclBinderL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a VarDeclBinderL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LhsL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a FunctionExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a PositionalArgExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL ExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a ExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a ExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig SingleLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a SingleLocalVarDeclL -> CxtS h MLuaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MLuaSig :&: p) a SingleLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a BlockItemL -> Maybe (CxtS h MLuaSig a SingleLocalVarDeclL) Source #

InjF MLuaSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a AssignL -> CxtS h MLuaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MLuaSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a BlockItemL -> Maybe (CxtS h MLuaSig a AssignL) Source #

InjF MLuaSig ExpL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> CxtS h MLuaSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MLuaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LocalVarInitL -> Maybe (CxtS h MLuaSig a ExpL) Source #

InjF MLuaSig ExpL RhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> CxtS h MLuaSig a RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a RhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a RhsL -> Maybe (CxtS h MLuaSig a ExpL) Source #

InjF MCSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LhsL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LhsL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a PositionalArgExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a CExpressionL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a MultiLocalVarDeclL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a MultiLocalVarDeclL) Source #

InjF MCSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a AssignL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a AssignL) Source #

InjF MCSig CStatementL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CStatementL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a CStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a CStatementL) Source #

InjF MCSig CExpressionL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> CxtS h MCSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MCSig :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LocalVarInitL -> Maybe (CxtS h MCSig a CExpressionL) 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' MCSig BlockItemL CStatement Source # 
Instance details

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

InjF MPythonSig [PyLValueL] LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a [PyLValueL] -> CxtS h MPythonSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a LhsL -> Maybe (Cxt h (Sum MPythonSig :&: p) a [PyLValueL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a LhsL -> Maybe (CxtS h MPythonSig a [PyLValueL]) Source #

InjF MLuaSig [VarL] LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a [VarL] -> CxtS h MLuaSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a [VarL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LhsL -> Maybe (CxtS h MLuaSig a [VarL]) Source #

InjF MLuaSig [ExpL] LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a [ExpL] -> CxtS h MLuaSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MLuaSig :&: p) a [ExpL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LocalVarInitL -> Maybe (CxtS h MLuaSig a [ExpL]) Source #

InjF MLuaSig [ExpL] RhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a [ExpL] -> CxtS h MLuaSig a RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a RhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a [ExpL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a RhsL -> Maybe (CxtS h MLuaSig a [ExpL]) Source #

InjF MLuaSig (Maybe [ExpL]) BlockEndL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a (Maybe [ExpL]) -> CxtS h MLuaSig a BlockEndL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a BlockEndL -> Maybe (Cxt h (Sum MLuaSig :&: p) a (Maybe [ExpL])) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a BlockEndL -> Maybe (CxtS h MLuaSig a (Maybe [ExpL])) Source #

type CfgState MPythonSig Source # 
Instance details

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MPythonSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MPythonSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MPythonSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MPythonSig AssignL Source # 
Instance details

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

type InjectableSorts MLuaSig SingleLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MLuaSig AssignL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

pattern BoolF' :: (BoolF :-<: fs, All HFunctor fs) => Bool -> CxtS h fs a BoolL Source #

iBoolF :: forall h fs a j. ((:-<:) BoolF fs, InjF fs BoolL j) => Bool -> CxtS h fs a j Source #

pattern IntF' :: (IntF :-<: fs, All HFunctor fs) => Int -> CxtS h fs a IntL Source #

iIntF :: forall h fs a j. ((:-<:) IntF fs, InjF fs IntL j) => Int -> CxtS h fs a j Source #

pattern IntegerF' :: (IntegerF :-<: fs, All HFunctor fs) => Integer -> CxtS h fs a IntegerL Source #

iIntegerF :: forall h fs a j. ((:-<:) IntegerF fs, InjF fs IntegerL j) => Integer -> CxtS h fs a j Source #

pattern CharF' :: (CharF :-<: fs, All HFunctor fs) => Char -> CxtS h fs a CharL Source #

iCharF :: forall h fs a j. ((:-<:) CharF fs, InjF fs CharL j) => Char -> CxtS h fs a j Source #

pattern UnitF' :: (UnitF :-<: fs, All HFunctor fs) => CxtS h fs a () Source #

iUnitF :: forall h fs a j. ((:-<:) UnitF fs, InjF fs () j) => CxtS h fs a j Source #

data FunctionExpL Source #

Instances

Instances details
KDynCase FunctionIdent FunctionExpL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

kdyncase :: forall (e :: Type -> Type) b. FunctionIdent e b -> Maybe (b :~: FunctionExpL) #

KDynCase ExprIsFunctionExp FunctionExpL Source # 
Instance details

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

Methods

kdyncase :: forall (e :: Type -> Type) b. ExprIsFunctionExp e b -> Maybe (b :~: FunctionExpL) #

KDynCase PrefixExpIsFunctionExp FunctionExpL Source # 
Instance details

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

Methods

kdyncase :: forall (e :: Type -> Type) b. PrefixExpIsFunctionExp e b -> Maybe (b :~: FunctionExpL) #

KDynCase JSExpressionIsFunctionExp FunctionExpL Source # 
Instance details

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

Methods

kdyncase :: forall (e :: Type -> Type) b. JSExpressionIsFunctionExp e b -> Maybe (b :~: FunctionExpL) #

KDynCase NameIsFunctionExp FunctionExpL Source # 
Instance details

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

Methods

kdyncase :: forall (e :: Type -> Type) b. NameIsFunctionExp e b -> Maybe (b :~: FunctionExpL) #

KDynCase CExpressionIsFunctionExp FunctionExpL Source # 
Instance details

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

Methods

kdyncase :: forall (e :: Type -> Type) b. CExpressionIsFunctionExp e b -> Maybe (b :~: FunctionExpL) #

(ExprIsFunctionExp :-<: fs, All HFunctor fs) => InjF fs ExprL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a ExprL -> CxtS h fs a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionExpL -> Maybe (Cxt h (Sum fs :&: p) a ExprL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionExpL -> Maybe (CxtS h fs a ExprL) Source #

(PrefixExpIsFunctionExp :-<: fs, All HFunctor fs) => InjF fs PrefixExpL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a PrefixExpL -> CxtS h fs a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionExpL -> Maybe (Cxt h (Sum fs :&: p) a PrefixExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionExpL -> Maybe (CxtS h fs a PrefixExpL) Source #

(JSExpressionIsFunctionExp :-<: fs, All HFunctor fs) => InjF fs JSExpressionL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JSExpressionL -> CxtS h fs a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionExpL -> Maybe (Cxt h (Sum fs :&: p) a JSExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionExpL -> Maybe (CxtS h fs a JSExpressionL) Source #

(NameIsFunctionExp :-<: fs, All HFunctor fs) => InjF fs NameL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a NameL -> CxtS h fs a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionExpL -> Maybe (Cxt h (Sum fs :&: p) a NameL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionExpL -> Maybe (CxtS h fs a NameL) Source #

(CExpressionIsFunctionExp :-<: fs, All HFunctor fs) => InjF fs CExpressionL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CExpressionL -> CxtS h fs a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionExpL -> Maybe (Cxt h (Sum fs :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionExpL -> Maybe (CxtS h fs a CExpressionL) Source #

InjF MPythonSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a FunctionExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MLuaSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a FunctionExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MJSSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a IdentL -> CxtS h MJSSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MJSSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a FunctionExpL -> Maybe (CxtS h MJSSig a IdentL) Source #

InjF MJavaSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a IdentL -> CxtS h MJavaSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MJavaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a FunctionExpL -> Maybe (CxtS h MJavaSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

data FunctionCallL Source #

Upon evaluating a FunctionCall node, the following occurs: 1) The FunctionExp is evaluated. 2) The function call attrs are evaluated. 3) The arguments are evaluated, in unspecified order. (Remember, we model C, which has unspecified order) 4) A function is looked up based on the function exp and the arguments, and is then invoked with the given arguments.

1 and 2 happpen in unspecified order. 1 and 2 happen before 3, which happens before 4.

All positional arguments in the invocation and the function definition are matched up sequentially If argument types do not line up (e.g.: pass a positional arg at a receiver position), this is undefined; said positional argument is ignored in the above computation

Instances

Instances details
KDynCase FunctionCall FunctionCallL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

kdyncase :: forall (e :: Type -> Type) b. FunctionCall e b -> Maybe (b :~: FunctionCallL) #

(FunctionCallIsExpr :-<: fs, All HFunctor fs) => InjF fs FunctionCallL ExprL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a ExprL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a ExprL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a ExprL -> Maybe (CxtS h fs a FunctionCallL) Source #

(FunctionCallIsFunCall :-<: fs, All HFunctor fs) => InjF fs FunctionCallL FunCallL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a FunCallL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunCallL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunCallL -> Maybe (CxtS h fs a FunctionCallL) Source #

(FunctionCallIsJSExpression :-<: fs, All HFunctor fs) => InjF fs FunctionCallL JSExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a JSExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a JSExpressionL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a JSExpressionL -> Maybe (CxtS h fs a FunctionCallL) Source #

(FunctionCallIsMethodInvocation :-<: fs, All HFunctor fs) => InjF fs FunctionCallL MethodInvocationL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a MethodInvocationL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a MethodInvocationL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a MethodInvocationL -> Maybe (CxtS h fs a FunctionCallL) Source #

(FunctionCallIsCExpression :-<: fs, All HFunctor fs) => InjF fs FunctionCallL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionCallL -> CxtS h fs a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a CExpressionL -> Maybe (Cxt h (Sum fs :&: p) a FunctionCallL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a CExpressionL -> Maybe (CxtS h fs a FunctionCallL) Source #

data FunctionCall e l where Source #

Instances

Instances details
ShowHF FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => FunctionCall a i -> FunctionCall a j -> Ordering #

EqHF FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => FunctionCall g i -> FunctionCall g j -> Bool #

HTraversable FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (FunctionCall a) (FunctionCall b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (FunctionCall a) (FunctionCall b) #

HFoldable FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfold :: Monoid m => FunctionCall (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> FunctionCall a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> FunctionCall a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> FunctionCall a :=> b #

hfoldr1 :: (a -> a -> a) -> FunctionCall (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> FunctionCall (K a) :=> a #

HFunctor FunctionCall Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> FunctionCall f :-> FunctionCall g #

CfgInitState MPythonSig Source # 
Instance details

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

CfgInitState MLuaSig Source # 
Instance details

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

CfgInitState MJSSig Source # 
Instance details

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

CfgInitState MJavaSig Source # 
Instance details

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

CfgInitState MCSig Source # 
Instance details

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

Pretty MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJSSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MLuaSig (RootSort MLuaSig))) Source #

ParseFile MJSSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MJSSig (RootSort MJSSig))) Source #

ParseFile MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MJavaSig (RootSort MJavaSig))) Source #

ParseFile MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

parseFile :: FilePath -> IO (Maybe (Term MCSig (RootSort MCSig))) Source #

KDynCase FunctionCall FunctionCallL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

kdyncase :: forall (e :: Type -> Type) b. FunctionCall e b -> Maybe (b :~: FunctionCallL) #

InjF MPythonSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a LhsL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a LhsL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a FunctionExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a PositionalArgExpL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig IdentL ExprL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a IdentL -> CxtS h MPythonSig a ExprL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a ExprL -> Maybe (Cxt h (Sum MPythonSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a ExprL -> Maybe (CxtS h MPythonSig a IdentL) Source #

InjF MPythonSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MPythonSig a AssignL -> CxtS h MPythonSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MPythonSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MPythonSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MPythonSig a BlockItemL -> Maybe (CxtS h MPythonSig a AssignL) Source #

InjF MLuaSig IdentL VarDeclBinderL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a VarDeclBinderL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a VarDeclBinderL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a VarDeclBinderL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LhsL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a FunctionExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a PositionalArgExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig IdentL ExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a IdentL -> CxtS h MLuaSig a ExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a ExpL -> Maybe (Cxt h (Sum MLuaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> Maybe (CxtS h MLuaSig a IdentL) Source #

InjF MLuaSig SingleLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a SingleLocalVarDeclL -> CxtS h MLuaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MLuaSig :&: p) a SingleLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a BlockItemL -> Maybe (CxtS h MLuaSig a SingleLocalVarDeclL) Source #

InjF MLuaSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a AssignL -> CxtS h MLuaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MLuaSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a BlockItemL -> Maybe (CxtS h MLuaSig a AssignL) Source #

InjF MLuaSig ExpL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> CxtS h MLuaSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MLuaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a LocalVarInitL -> Maybe (CxtS h MLuaSig a ExpL) Source #

InjF MLuaSig ExpL RhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MLuaSig a ExpL -> CxtS h MLuaSig a RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MLuaSig :&: p) a RhsL -> Maybe (Cxt h (Sum MLuaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MLuaSig a RhsL -> Maybe (CxtS h MLuaSig a ExpL) Source #

InjF MJSSig IdentL VarDeclBinderL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a IdentL -> CxtS h MJSSig a VarDeclBinderL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a VarDeclBinderL -> Maybe (Cxt h (Sum MJSSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a VarDeclBinderL -> Maybe (CxtS h MJSSig a IdentL) Source #

InjF MJSSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a IdentL -> CxtS h MJSSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a LhsL -> Maybe (Cxt h (Sum MJSSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a LhsL -> Maybe (CxtS h MJSSig a IdentL) Source #

InjF MJSSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a IdentL -> CxtS h MJSSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MJSSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a FunctionExpL -> Maybe (CxtS h MJSSig a IdentL) Source #

InjF MJSSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a IdentL -> CxtS h MJSSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MJSSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a PositionalArgExpL -> Maybe (CxtS h MJSSig a IdentL) Source #

InjF MJSSig SingleLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a SingleLocalVarDeclL -> CxtS h MJSSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJSSig :&: p) a SingleLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a BlockItemL -> Maybe (CxtS h MJSSig a SingleLocalVarDeclL) Source #

InjF MJSSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a MultiLocalVarDeclL -> CxtS h MJSSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJSSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a BlockItemL -> Maybe (CxtS h MJSSig a MultiLocalVarDeclL) Source #

InjF MJSSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a AssignL -> CxtS h MJSSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJSSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a BlockItemL -> Maybe (CxtS h MJSSig a AssignL) Source #

InjF MJSSig AssignL JSStatementL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a AssignL -> CxtS h MJSSig a JSStatementL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSStatementL -> Maybe (Cxt h (Sum MJSSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSStatementL -> Maybe (CxtS h MJSSig a AssignL) Source #

InjF MJavaSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a IdentL -> CxtS h MJavaSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a LhsL -> Maybe (Cxt h (Sum MJavaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a LhsL -> Maybe (CxtS h MJavaSig a IdentL) Source #

InjF MJavaSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a IdentL -> CxtS h MJavaSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MJavaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a FunctionExpL -> Maybe (CxtS h MJavaSig a IdentL) Source #

InjF MJavaSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a IdentL -> CxtS h MJavaSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MJavaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a PositionalArgExpL -> Maybe (CxtS h MJavaSig a IdentL) Source #

InjF MJavaSig IdentL ExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a IdentL -> CxtS h MJavaSig a ExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a ExpL -> Maybe (Cxt h (Sum MJavaSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a ExpL -> Maybe (CxtS h MJavaSig a IdentL) Source #

InjF MJavaSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a MultiLocalVarDeclL -> CxtS h MJavaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJavaSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a BlockItemL -> Maybe (CxtS h MJavaSig a MultiLocalVarDeclL) Source #

InjF MJavaSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a AssignL -> CxtS h MJavaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJavaSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a BlockItemL -> Maybe (CxtS h MJavaSig a AssignL) Source #

InjF MJavaSig BlockL StmtL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a BlockL -> CxtS h MJavaSig a StmtL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a StmtL -> Maybe (Cxt h (Sum MJavaSig :&: p) a BlockL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a StmtL -> Maybe (CxtS h MJavaSig a BlockL) Source #

InjF MJavaSig StmtL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a StmtL -> CxtS h MJavaSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MJavaSig :&: p) a StmtL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a BlockItemL -> Maybe (CxtS h MJavaSig a StmtL) Source #

InjF MJavaSig ExpL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a ExpL -> CxtS h MJavaSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MJavaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a LocalVarInitL -> Maybe (CxtS h MJavaSig a ExpL) Source #

InjF MJavaSig ExpL FunctionArgumentL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJavaSig a ExpL -> CxtS h MJavaSig a FunctionArgumentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJavaSig :&: p) a FunctionArgumentL -> Maybe (Cxt h (Sum MJavaSig :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJavaSig a FunctionArgumentL -> Maybe (CxtS h MJavaSig a ExpL) Source #

InjF MCSig IdentL LhsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LhsL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LhsL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL FunctionExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a FunctionExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a FunctionExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a FunctionExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a PositionalArgExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a PositionalArgExpL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a PositionalArgExpL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig IdentL CExpressionL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a IdentL -> CxtS h MCSig a CExpressionL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a CExpressionL -> Maybe (Cxt h (Sum MCSig :&: p) a IdentL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> Maybe (CxtS h MCSig a IdentL) Source #

InjF MCSig MultiLocalVarDeclL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a MultiLocalVarDeclL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a MultiLocalVarDeclL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a MultiLocalVarDeclL) Source #

InjF MCSig AssignL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a AssignL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a AssignL) Source #

InjF MCSig CStatementL BlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CStatementL -> CxtS h MCSig a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a BlockItemL -> Maybe (Cxt h (Sum MCSig :&: p) a CStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a BlockItemL -> Maybe (CxtS h MCSig a CStatementL) Source #

InjF MCSig CExpressionL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h MCSig a CExpressionL -> CxtS h MCSig a LocalVarInitL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MCSig :&: p) a LocalVarInitL -> Maybe (Cxt h (Sum MCSig :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h MCSig a LocalVarInitL -> Maybe (CxtS h MCSig a CExpressionL) 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