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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

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

Instances

Instances details
ShowHF EmptyFunctionCallAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF EmptyFunctionCallAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF EmptyFunctionCallAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable EmptyFunctionCallAttrs 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 (EmptyFunctionCallAttrs a) (EmptyFunctionCallAttrs b) #

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

HFoldable EmptyFunctionCallAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor EmptyFunctionCallAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> EmptyFunctionCallAttrs f :-> EmptyFunctionCallAttrs 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 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 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 MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase EmptyFunctionCallAttrs FunctionCallAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) 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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data FunctionIdent e l where Source #

Instances

Instances details
ShowHF FunctionIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF FunctionIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF FunctionIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable FunctionIdent 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 (FunctionIdent a) (FunctionIdent b) #

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

HFoldable FunctionIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor FunctionIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> FunctionIdent f :-> FunctionIdent 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 MJavaSig Source # 
Instance details

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

Pretty MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJavaSig 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 MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

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

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

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' MJavaSig BlockItemL Stmt Source # 
Instance details

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

data FunctionArgumentL Source #

Additional non-syntactic assumptions: * At most one argument is receiver, and it's at the front of the list if exists. * Positional and receiver args are before other args

data FunctionArgumentList e l where Source #

Instances

Instances details
ShowHF FunctionArgumentList Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF FunctionArgumentList Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF FunctionArgumentList Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable FunctionArgumentList 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 (FunctionArgumentList a) (FunctionArgumentList b) #

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

HFoldable FunctionArgumentList Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor FunctionArgumentList Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> FunctionArgumentList f :-> FunctionArgumentList 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 FunctionArgumentList FunctionArgumentsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data ReceiverL Source #

Instances

Instances details
KDynCase ExprIsReceiver ReceiverL Source # 
Instance details

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

Methods

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

KDynCase PrefixExpIsReceiver ReceiverL Source # 
Instance details

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

Methods

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

KDynCase JavaReceiver ReceiverL Source # 
Instance details

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

Methods

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

(ExprIsReceiver :-<: fs, All HFunctor fs) => InjF fs ExprL ReceiverL 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 ReceiverL Source #

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

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

(PrefixExpIsReceiver :-<: fs, All HFunctor fs) => InjF fs PrefixExpL ReceiverL 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 ReceiverL Source #

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

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

data ReceiverArg e l where Source #

Instances

Instances details
ShowHF ReceiverArg Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF ReceiverArg Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF ReceiverArg Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable ReceiverArg 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 (ReceiverArg a) (ReceiverArg b) #

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

HFoldable ReceiverArg Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor ReceiverArg Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> ReceiverArg f :-> ReceiverArg 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 MJavaSig Source # 
Instance details

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

Pretty MPythonSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJavaSig 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 MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase ReceiverArg FunctionArgumentL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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' MJavaSig BlockItemL Stmt Source # 
Instance details

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

data PositionalArgExpL Source #

Instances

Instances details
KDynCase ExprIsPositionalArgExp PositionalArgExpL Source # 
Instance details

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

Methods

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

KDynCase ExpIsPositionalArgExp PositionalArgExpL Source # 
Instance details

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

Methods

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

KDynCase JSExpressionIsPositionalArgExp PositionalArgExpL Source # 
Instance details

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

Methods

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

KDynCase ExpIsPositionalArgExp PositionalArgExpL Source # 
Instance details

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

Methods

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

KDynCase CExpressionIsPositionalArgExp PositionalArgExpL Source # 
Instance details

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

Methods

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

(ExprIsPositionalArgExp :-<: fs, All HFunctor fs) => InjF fs ExprL PositionalArgExpL 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 PositionalArgExpL Source #

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

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

(ExpIsPositionalArgExp :-<: fs, All HFunctor fs) => InjF fs ExpL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a ExpL -> CxtS h fs a PositionalArgExpL Source #

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

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

(JSExpressionIsPositionalArgExp :-<: fs, All HFunctor fs) => InjF fs JSExpressionL PositionalArgExpL 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 PositionalArgExpL Source #

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

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

(ExpIsPositionalArgExp :-<: fs, All HFunctor fs) => InjF fs ExpL PositionalArgExpL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a ExpL -> CxtS h fs a PositionalArgExpL Source #

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

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

(CExpressionIsPositionalArgExp :-<: fs, All HFunctor fs) => InjF fs CExpressionL PositionalArgExpL 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 PositionalArgExpL Source #

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

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

data PositionalArgument e l where Source #

Instances

Instances details
ShowHF PositionalArgument Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF PositionalArgument Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF PositionalArgument Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable PositionalArgument 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 (PositionalArgument a) (PositionalArgument b) #

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

HFoldable PositionalArgument Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor PositionalArgument Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> PositionalArgument f :-> PositionalArgument 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 PositionalArgument FunctionArgumentL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

iFunctionCall :: forall h fs a j. ((:-<:) FunctionCall fs, InjF fs FunctionCallL j) => CxtS h fs a FunctionCallAttrsL -> CxtS h fs a FunctionExpL -> CxtS h fs a FunctionArgumentsL -> CxtS h fs a j Source #

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

iFunctionIdent :: forall h fs a j. ((:-<:) FunctionIdent fs, InjF fs FunctionExpL j) => CxtS h fs a IdentL -> CxtS h fs a j Source #

iReceiverArg :: forall h fs a j. ((:-<:) ReceiverArg fs, InjF fs FunctionArgumentL j) => CxtS h fs a ReceiverL -> CxtS h fs a j Source #

data FunctionParameterDeclL Source #

Instances

Instances details
KDynCase SelfParameterDecl FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase PositionalParameterDeclOptionalIdent FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

KDynCase PositionalParameterDeclWithIdent FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

KDynCase JavaVarargsParamIsFunctionParameterDecl FunctionParameterDeclL Source # 
Instance details

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

KDynCase CSpecialParamIsFunctionParameterDecl FunctionParameterDeclL Source # 
Instance details

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

(JavaVarargsParamIsFunctionParameterDecl :-<: fs, All HFunctor fs) => InjF fs JavaVarargsParamL FunctionParameterDeclL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JavaVarargsParamL -> CxtS h fs a FunctionParameterDeclL Source #

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

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

(CSpecialParamIsFunctionParameterDecl :-<: fs, All HFunctor fs) => InjF fs CSpecialParamL FunctionParameterDeclL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CSpecialParamL -> CxtS h fs a FunctionParameterDeclL Source #

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

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

data FunctionParameterDeclAttrsL Source #

Instances

Instances details
KDynCase JavaParamAttrsIsFunctionParameterDeclAttrs FunctionParameterDeclAttrsL Source # 
Instance details

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

KDynCase CFunParamAttrsIsFunctionParameterDeclAttrs FunctionParameterDeclAttrsL Source # 
Instance details

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

(JavaParamAttrsIsFunctionParameterDeclAttrs :-<: fs, All HFunctor fs) => InjF fs JavaParamAttrsL FunctionParameterDeclAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JavaParamAttrsL -> CxtS h fs a FunctionParameterDeclAttrsL Source #

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

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

(CFunParamAttrsIsFunctionParameterDeclAttrs :-<: fs, All HFunctor fs) => InjF fs CFunParamAttrsL FunctionParameterDeclAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CFunParamAttrsL -> CxtS h fs a FunctionParameterDeclAttrsL Source #

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

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

data FunctionDeclL Source #

Instances

Instances details
KDynCase FunctionDecl FunctionDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

(FunctionDeclIsMemberDecl :-<: fs, All HFunctor fs) => InjF fs FunctionDeclL MemberDeclL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDeclL -> CxtS h fs a MemberDeclL Source #

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

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

(FunctionDeclIsCDeclarator :-<: fs, All HFunctor fs) => InjF fs FunctionDeclL CDeclaratorL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDeclL -> CxtS h fs a CDeclaratorL Source #

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

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

data FunctionDecl e l where Source #

Instances

Instances details
ShowHF FunctionDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF FunctionDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF FunctionDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable FunctionDecl 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 (FunctionDecl a) (FunctionDecl b) #

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

HFoldable FunctionDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor FunctionDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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 MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

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 FunctionDecl FunctionDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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' 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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

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

Instances

Instances details
ShowHF EmptyFunctionDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF EmptyFunctionDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF EmptyFunctionDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable EmptyFunctionDeclAttrs 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 (EmptyFunctionDeclAttrs a) (EmptyFunctionDeclAttrs b) #

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

HFoldable EmptyFunctionDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor EmptyFunctionDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase EmptyFunctionDeclAttrs FunctionDeclAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

Instances

Instances details
ShowHF SelfParameterDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF SelfParameterDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF SelfParameterDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable SelfParameterDecl 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 (SelfParameterDecl a) (SelfParameterDecl b) #

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

HFoldable SelfParameterDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor SelfParameterDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

CfgInitState MJavaSig Source # 
Instance details

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

Pretty MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase SelfParameterDecl FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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 #

InsertAt' MJavaSig BlockItemL Stmt Source # 
Instance details

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

data PositionalParameterDeclOptionalIdent e l where Source #

Instances

Instances details
ShowHF PositionalParameterDeclOptionalIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF PositionalParameterDeclOptionalIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

EqHF PositionalParameterDeclOptionalIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

HTraversable PositionalParameterDeclOptionalIdent 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 (PositionalParameterDeclOptionalIdent a) (PositionalParameterDeclOptionalIdent b) #

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

HFoldable PositionalParameterDeclOptionalIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor PositionalParameterDeclOptionalIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

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 PositionalParameterDeclOptionalIdent FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

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 PositionalParameterDeclWithIdent e l where Source #

Instances

Instances details
ShowHF PositionalParameterDeclWithIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF PositionalParameterDeclWithIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

EqHF PositionalParameterDeclWithIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable PositionalParameterDeclWithIdent 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 (PositionalParameterDeclWithIdent a) (PositionalParameterDeclWithIdent b) #

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

HFoldable PositionalParameterDeclWithIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor PositionalParameterDeclWithIdent Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

CfgInitState MJavaSig Source # 
Instance details

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

Pretty MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase PositionalParameterDeclWithIdent FunctionParameterDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

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 #

InsertAt' MJavaSig BlockItemL Stmt Source # 
Instance details

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

iFunctionDecl :: forall h fs a j. ((:-<:) FunctionDecl fs, InjF fs FunctionDeclL j) => CxtS h fs a FunctionDeclAttrsL -> CxtS h fs a IdentL -> CxtS h fs a [FunctionParameterDeclL] -> CxtS h fs a j Source #

data FunctionDefAttrsL Source #

Instances

Instances details
KDynCase EmptyFunctionDefAttrs FunctionDefAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase PyFunDefAttrs FunctionDefAttrsL Source # 
Instance details

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

Methods

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

KDynCase LuaFunctionAttrs FunctionDefAttrsL Source # 
Instance details

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

Methods

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

KDynCase JavaMethodDeclAttrsIsFunctionDefAttrs FunctionDefAttrsL Source # 
Instance details

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

KDynCase CFunDefAttrs FunctionDefAttrsL Source # 
Instance details

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

Methods

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

(JavaMethodDeclAttrsIsFunctionDefAttrs :-<: fs, All HFunctor fs) => InjF fs JavaMethodDeclAttrsL FunctionDefAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JavaMethodDeclAttrsL -> CxtS h fs a FunctionDefAttrsL Source #

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

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

data FunctionParameterL Source #

Instances

Instances details
KDynCase SelfParameter FunctionParameterL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase PositionalParameter FunctionParameterL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase PythonParam FunctionParameterL Source # 
Instance details

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

Methods

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

KDynCase LuaVarArgsParam FunctionParameterL Source # 
Instance details

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

Methods

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

KDynCase JavaVarargsParamIsFunctionParameter FunctionParameterL Source # 
Instance details

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

KDynCase COldStyleParamIsFunctionParameter FunctionParameterL Source # 
Instance details

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

KDynCase CSpecialParamIsFunctionParameter FunctionParameterL Source # 
Instance details

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

(JavaVarargsParamIsFunctionParameter :-<: fs, All HFunctor fs) => InjF fs JavaVarargsParamL FunctionParameterL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JavaVarargsParamL -> CxtS h fs a FunctionParameterL Source #

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

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

(CSpecialParamIsFunctionParameter :-<: fs, All HFunctor fs) => InjF fs CSpecialParamL FunctionParameterL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CSpecialParamL -> CxtS h fs a FunctionParameterL Source #

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

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

(COldStyleParamIsFunctionParameter :-<: fs, All HFunctor fs) => InjF fs COldStyleParamL FunctionParameterL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a COldStyleParamL -> CxtS h fs a FunctionParameterL Source #

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

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

data FunctionBodyL Source #

Instances

Instances details
KDynCase PyBlockIsFunctionBody FunctionBodyL Source # 
Instance details

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

Methods

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

KDynCase BlockIsFunctionBody FunctionBodyL Source # 
Instance details

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

Methods

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

KDynCase JSBlockIsFunctionBody FunctionBodyL Source # 
Instance details

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

Methods

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

KDynCase BlockIsFunctionBody FunctionBodyL Source # 
Instance details

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

Methods

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

KDynCase CStatementIsFunctionBody FunctionBodyL Source # 
Instance details

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

Methods

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

(PyBlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs PyBlockL FunctionBodyL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a PyBlockL -> CxtS h fs a FunctionBodyL Source #

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

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

(BlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs BlockL FunctionBodyL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockL -> CxtS h fs a FunctionBodyL Source #

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

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

(JSBlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs JSBlockL FunctionBodyL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JSBlockL -> CxtS h fs a FunctionBodyL Source #

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

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

(BlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs BlockL FunctionBodyL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockL -> CxtS h fs a FunctionBodyL Source #

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

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

(CStatementIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs CStatementL FunctionBodyL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CStatementL -> CxtS h fs a FunctionBodyL Source #

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

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

data FunctionDefL Source #

Instances

Instances details
KDynCase FunctionDef FunctionDefL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

(FunctionDefIsStatement :-<: fs, All HFunctor fs) => InjF fs FunctionDefL StatementL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDefL -> CxtS h fs a StatementL Source #

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

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

(FunctionDefIsStat :-<: fs, All HFunctor fs) => InjF fs FunctionDefL StatL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDefL -> CxtS h fs a StatL Source #

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

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

(FunctionDefIsJSStatement :-<: fs, All HFunctor fs) => InjF fs FunctionDefL JSStatementL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDefL -> CxtS h fs a JSStatementL Source #

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

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

(FunctionDefIsMemberDecl :-<: fs, All HFunctor fs) => InjF fs FunctionDefL MemberDeclL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDefL -> CxtS h fs a MemberDeclL Source #

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

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

(FunctionDefIsCFunctionDef :-<: fs, All HFunctor fs) => InjF fs FunctionDefL CFunctionDefL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a FunctionDefL -> CxtS h fs a CFunctionDefL Source #

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

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

data FunctionDef e l where Source #

Instances

Instances details
ShowHF FunctionDef Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF FunctionDef Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF FunctionDef Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable FunctionDef 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 (FunctionDef a) (FunctionDef b) #

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

HFoldable FunctionDef Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor FunctionDef Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> FunctionDef f :-> FunctionDef 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 FunctionDef FunctionDefL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

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

Instances

Instances details
ShowHF EmptyFunctionDefAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF EmptyFunctionDefAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF EmptyFunctionDefAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable EmptyFunctionDefAttrs 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 (EmptyFunctionDefAttrs a) (EmptyFunctionDefAttrs b) #

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

HFoldable EmptyFunctionDefAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor EmptyFunctionDefAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJSSig 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 #

KDynCase EmptyFunctionDefAttrs FunctionDefAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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 #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

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

Instances

Instances details
ShowHF SelfParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF SelfParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF SelfParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable SelfParameter 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 (SelfParameter a) (SelfParameter b) #

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

HFoldable SelfParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor SelfParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

CfgInitState MLuaSig Source # 
Instance details

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

CfgInitState MJavaSig Source # 
Instance details

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

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJavaSig 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 MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase SelfParameter FunctionParameterL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

InsertAt' MLuaSig BlockItemL ListF Source # 
Instance details

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

InsertAt' MJavaSig BlockItemL Stmt Source # 
Instance details

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

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 #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

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 MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

data ParameterAttrsL Source #

Instances

Instances details
KDynCase EmptyParameterAttrs ParameterAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

KDynCase PyParamAttrs ParameterAttrsL Source # 
Instance details

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

Methods

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

KDynCase JavaParamAttrsIsParameterAttrs ParameterAttrsL Source # 
Instance details

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

Methods

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

KDynCase CFunParamAttrsIsParameterAttrs ParameterAttrsL Source # 
Instance details

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

Methods

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

(JavaParamAttrsIsParameterAttrs :-<: fs, All HFunctor fs) => InjF fs JavaParamAttrsL ParameterAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JavaParamAttrsL -> CxtS h fs a ParameterAttrsL Source #

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

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

(CFunParamAttrsIsParameterAttrs :-<: fs, All HFunctor fs) => InjF fs CFunParamAttrsL ParameterAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CFunParamAttrsL -> CxtS h fs a ParameterAttrsL Source #

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

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

data PositionalParameter e l where Source #

Instances

Instances details
ShowHF PositionalParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF PositionalParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF PositionalParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable PositionalParameter 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 (PositionalParameter a) (PositionalParameter b) #

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

HFoldable PositionalParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor PositionalParameter Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> PositionalParameter f :-> PositionalParameter 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 PositionalParameter FunctionParameterL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

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

Instances

Instances details
ShowHF EmptyParameterAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

OrdHF EmptyParameterAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

EqHF EmptyParameterAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

HTraversable EmptyParameterAttrs 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 (EmptyParameterAttrs a) (EmptyParameterAttrs b) #

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

HFoldable EmptyParameterAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

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

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

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

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

HFunctor EmptyParameterAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJSSig 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 #

KDynCase EmptyParameterAttrs ParameterAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Function

Methods

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

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 #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

pattern FunctionDef' :: (FunctionDef :-<: fs, All HFunctor fs) => CxtS h fs a FunctionDefAttrsL -> CxtS h fs a IdentL -> CxtS h fs a [FunctionParameterL] -> CxtS h fs a FunctionBodyL -> CxtS h fs a FunctionDefL Source #

iFunctionDef :: forall h fs a j. ((:-<:) FunctionDef fs, InjF fs FunctionDefL j) => CxtS h fs a FunctionDefAttrsL -> CxtS h fs a IdentL -> CxtS h fs a [FunctionParameterL] -> CxtS h fs a FunctionBodyL -> CxtS h fs a j Source #

iEmptyParameterAttrs :: forall h fs a j. ((:-<:) EmptyParameterAttrs fs, InjF fs ParameterAttrsL j) => CxtS h fs a j Source #

iSelfParameter :: forall h fs a j. ((:-<:) SelfParameter fs, InjF fs FunctionParameterL j) => CxtS h fs a j Source #

iPositionalParameter :: forall h fs a j. ((:-<:) PositionalParameter fs, InjF fs FunctionParameterL j) => CxtS h fs a ParameterAttrsL -> CxtS h fs a IdentL -> CxtS h fs a j Source #

iEmptyParameterAttrs :: forall h fs a j. ((:-<:) EmptyParameterAttrs fs, InjF fs ParameterAttrsL j) => CxtS h fs a j Source #

Functorial syntax

data MaybeF e l where Source #

A higher-order functor version of Maybe, for use with multi-sorted compositional data types

e : a functor mapping labels to terms of the corresponding sort

l : the label. Will have the form Maybe l'

Constructors

NothingF :: Typeable l => MaybeF e (Maybe l) 
JustF :: Typeable l => e l -> MaybeF e (Maybe l) 

Instances

Instances details
ShowHF MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

OrdHF MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

EqHF MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

HTraversable MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

HFoldable MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

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

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

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

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

HFunctor MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> MaybeF f :-> MaybeF 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 #

KExtractF' Maybe MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF' :: MaybeF e (Maybe l) -> Maybe (e l) Source #

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

Typeable l => KDynCase MaybeF (Maybe l) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data ListF e l where Source #

A higher-order functor version of [], for use with multi-sorted compositional data types

e : a functor mapping labels to terms of the corresponding sort

l : the label. Will have the form [l]

Constructors

NilF :: Typeable l => ListF e [l] 
ConsF :: Typeable l => e l -> e [l] -> ListF e [l] 

Instances

Instances details
ShowHF ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

OrdHF ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

EqHF ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

HTraversable ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

HFoldable ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

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

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

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

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

HFunctor ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> ListF f :-> ListF 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 #

KExtractF [] ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF :: ExtractF [] e => ListF e [l] -> [e l] Source #

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 #

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

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

Typeable l => KDynCase ListF [l] Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kdyncase :: forall (e :: Type -> Type) b. ListF e b -> Maybe (b :~: [l]) #

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data PairF e l where Source #

A higher-order functor version of (,), for use with multi-sorted compositional data types

e : a functor mapping labels to terms of the corresponding sort

l : the label . Will have the form (l1,l2)

Constructors

PairF :: (Typeable i, Typeable j) => e i -> e j -> PairF e (i, j) 

Instances

Instances details
ShowHF PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

OrdHF PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

EqHF PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

HTraversable PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

HFoldable PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

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

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

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

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

HFunctor PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> PairF f :-> PairF 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 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 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 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 #

KExtractF2' (,) PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: PairF e (l, l') -> (e l, e l') Source #

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 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' 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

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 #

(Typeable l, Typeable l') => KDynCase PairF (l, l') Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kdyncase :: forall (e :: Type -> Type) b. PairF e b -> Maybe (b :~: (l, l')) #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data TripleF e l where Source #

Constructors

TripleF :: (Typeable i, Typeable j, Typeable k) => e i -> e j -> e k -> TripleF e (i, j, k) 

Instances

Instances details
ShowHF TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

OrdHF TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

EqHF TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

HTraversable TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

HFoldable TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

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

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

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

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

HFunctor TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> TripleF f :-> TripleF 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 #

KExtractF3' (,,) TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3' :: TripleF e (l, l', l'') -> (e l, e l', e l'') 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' MCSig BlockItemL CStatement Source # 
Instance details

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

(Typeable l, Typeable l', Typeable l'') => KDynCase TripleF (l, l', l'') Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kdyncase :: forall (e :: Type -> Type) b. TripleF e b -> Maybe (b :~: (l, l', l'')) #

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 EitherF e l where Source #

A higher-order functor version of Either, for use with multi-sorted compositional data types

e : a functor mapping labels to terms of the corresponding sort

l : the label . Will have the form (Either l1 l2)

Constructors

LeftF :: (Typeable i, Typeable j) => e i -> EitherF e (Either i j) 
RightF :: (Typeable i, Typeable j) => e j -> EitherF e (Either i j) 

Instances

Instances details
ShowHF EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

OrdHF EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

EqHF EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

HTraversable EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

HFoldable EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

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

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

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

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

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

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

HFunctor EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> EitherF f :-> EitherF 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 #

KExtractF2' Either EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: EitherF e (Either l l') -> Either (e l) (e l') 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' MCSig BlockItemL CStatement Source # 
Instance details

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

(Typeable l, Typeable l') => KDynCase EitherF (Either l l') Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kdyncase :: forall (e :: Type -> Type) b. EitherF e b -> Maybe (b :~: Either l l') #

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

pattern Just' :: (MaybeF :<: f, Typeable l, HFunctor f) => Cxt h f a l -> Cxt h f a (Maybe l) Source #

pattern Nothing' :: (MaybeF :<: f, Typeable l, HFunctor f) => Cxt h f a (Maybe l) Source #

pattern JustA' :: (MaybeF :<: f, Typeable l, HFunctor f) => Cxt h (f :&: p) a l -> Cxt h (f :&: p) a (Maybe l) Source #

I really don't like having to copy variants for annotated versions, but must with current design

pattern ConsF' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h f a l -> Cxt h f a [l] -> Cxt h f a [l] Source #

pattern NilF' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h f a [l] Source #

pattern SingletonF' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h f a l -> Cxt h f a [l] Source #

pattern ConsFA' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h (f :&: p) a l -> Cxt h (f :&: p) a [l] -> Cxt h (f :&: p) a [l] Source #

pattern NilFA' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h (f :&: p) a [l] Source #

pattern SingletonFA' :: (ListF :<: f, Typeable l, HFunctor f) => Cxt h (f :&: p) a l -> Cxt h (f :&: p) a [l] Source #

pattern PairF' :: (PairF :<: f, Typeable l, Typeable l', HFunctor f) => Cxt h f a l -> Cxt h f a l' -> Cxt h f a (l, l') Source #

pattern TripleF' :: (TripleF :<: f, Typeable i, Typeable j, Typeable k, HFunctor f) => Cxt h f a i -> Cxt h f a j -> Cxt h f a k -> Cxt h f a (i, j, k) Source #

pattern Left' :: (EitherF :<: f, Typeable l, Typeable l', HFunctor f) => Cxt h f a l -> Cxt h f a (Either l l') Source #

pattern Right' :: (EitherF :<: f, Typeable l, Typeable l', HFunctor f) => Cxt h f a l' -> Cxt h f a (Either l l') Source #

Smart constructors

riNothingF :: forall h f a l. (MaybeF :<: f, Typeable l) => Cxt h f a (Maybe l) Source #

Smart constructor for NothingF. Restricted; cannot be lifted through a sort injection

iJustF :: (MaybeF :-<: fs, InjF fs (Maybe l) l', Typeable l) => CxtS h fs a l -> CxtS h fs a l' Source #

riNilF :: forall h f a l. (ListF :<: f, Typeable l) => Cxt h f a [l] Source #

Smart constructor for NilF. Restricted; cannot be lifted through a sort injection

iConsF :: (ListF :-<: fs, InjF fs [l] l', Typeable l) => CxtS h fs a l -> CxtS h fs a [l] -> CxtS h fs a l' Source #

riPairF :: (PairF :<: f, Typeable i, Typeable j) => Cxt h f a i -> Cxt h f a j -> Cxt h f a (i, j) Source #

Smart constructor for PairF. Restricted; cannot be lifted through a sort injection

riTripleF :: (TripleF :<: f, Typeable i, Typeable j, Typeable k) => Cxt h f a i -> Cxt h f a j -> Cxt h f a k -> Cxt h f a (i, j, k) Source #

riLeftF :: (EitherF :<: f, Typeable i, Typeable j) => Cxt h f a i -> Cxt h f a (Either i j) Source #

riRightF :: (EitherF :<: f, Typeable i, Typeable j) => Cxt h f a j -> Cxt h f a (Either i j) Source #

Converting functorial syntax

class ExtractF f e where Source #

Methods

extractF :: e (f l) -> f (e l) Source #

Pulls a functor out of a label.

Example:

extractF :: JavaProj [SourceFileL] -> [JavaProj SourceFileL]

Beware that this function unsafely assumes that e.g.: a term of sort [l] is a ListF node (and similar for Maybe, etc). If you define a custom node that has sort [l] for any l, and do not define a corresponding ExtractF instance, then extractF may give an error.

Instances

Instances details
Applicative f => ExtractF f (K a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

extractF :: K a (f l) -> f (K a l) Source #

(KExtractF f g, ExtractF f a, Functor f) => ExtractF f (Cxt h g a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

extractF :: Cxt h g a (f l) -> f (Cxt h g a l) Source #

class KExtractF f g where Source #

Inductive form of ExtractF. An instance KExtract f g gives rise to an instance ExtractF f (Term g)

Methods

kextractF :: ExtractF f e => g e (f l) -> f (e l) Source #

Instances

Instances details
KExtractF [] ListF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF :: ExtractF [] e => ListF e [l] -> [e l] Source #

KExtractF' f g => KExtractF f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF :: ExtractF f e => g e (f l) -> f (e l) Source #

All (KExtractF f) gs => KExtractF f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF :: ExtractF f e => Sum gs e (f l) -> f (e l) Source #

KExtractF f g => KExtractF f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF :: ExtractF f e => (g :&: a) e (f l) -> f (e l) Source #

class KExtractF' f g where Source #

Methods

kextractF' :: g e (f l) -> f (e l) Source #

Instances

Instances details
KExtractF' Maybe MaybeF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF' :: MaybeF e (Maybe l) -> Maybe (e l) Source #

NotSum g => KExtractF' f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF' :: g e (f l) -> f (e l) Source #

All (KExtractF' f) gs => KExtractF' f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF' :: Sum gs e (f l) -> f (e l) Source #

KExtractF' f g => KExtractF' f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF' :: (g :&: a) e (f l) -> f (e l) Source #

class ExtractF2 f e where Source #

Methods

extractF2 :: e (f l l') -> f (e l) (e l') Source #

Instances

Instances details
KExtractF2 f g => ExtractF2 f (HFix g) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

extractF2 :: HFix g (f l l') -> f (HFix g l) (HFix g l') Source #

class KExtractF2 f g where Source #

Methods

kextractF2 :: ExtractF2 f e => g e (f l l') -> f (e l) (e l') Source #

Instances

Instances details
KExtractF2' f g => KExtractF2 f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2 :: ExtractF2 f e => g e (f l l') -> f (e l) (e l') Source #

All (KExtractF2 f) gs => KExtractF2 f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2 :: ExtractF2 f e => Sum gs e (f l l') -> f (e l) (e l') Source #

KExtractF2 f g => KExtractF2 f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2 :: ExtractF2 f e => (g :&: a) e (f l l') -> f (e l) (e l') Source #

class KExtractF2' f g where Source #

Methods

kextractF2' :: g e (f l l') -> f (e l) (e l') Source #

Instances

Instances details
KExtractF2' Either EitherF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: EitherF e (Either l l') -> Either (e l) (e l') Source #

KExtractF2' (,) PairF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: PairF e (l, l') -> (e l, e l') Source #

NotSum g => KExtractF2' f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: g e (f l l') -> f (e l) (e l') Source #

All (KExtractF2' f) gs => KExtractF2' f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: Sum gs e (f l l') -> f (e l) (e l') Source #

KExtractF2' f g => KExtractF2' f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF2' :: (g :&: a) e (f l l') -> f (e l) (e l') Source #

class ExtractF3 f e where Source #

Methods

extractF3 :: e (f l l' l'') -> f (e l) (e l') (e l'') Source #

Instances

Instances details
KExtractF3 f g => ExtractF3 f (HFix g) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

extractF3 :: HFix g (f l l' l'') -> f (HFix g l) (HFix g l') (HFix g l'') Source #

class KExtractF3 f g where Source #

Methods

kextractF3 :: ExtractF3 f e => g e (f l l' l'') -> f (e l) (e l') (e l'') Source #

Instances

Instances details
KExtractF3' f g => KExtractF3 f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3 :: ExtractF3 f e => g e (f l l' l'') -> f (e l) (e l') (e l'') Source #

All (KExtractF3 f) gs => KExtractF3 f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3 :: ExtractF3 f e => Sum gs e (f l l' l'') -> f (e l) (e l') (e l'') Source #

KExtractF3 f g => KExtractF3 f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3 :: ExtractF3 f e => (g :&: a) e (f l l' l'') -> f (e l) (e l') (e l'') Source #

class KExtractF3' f g where Source #

Methods

kextractF3' :: g e (f l l' l'') -> f (e l) (e l') (e l'') Source #

Instances

Instances details
KExtractF3' (,,) TripleF Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3' :: TripleF e (l, l', l'') -> (e l, e l', e l'') Source #

NotSum g => KExtractF3' f g Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3' :: g e (f l l' l'') -> f (e l) (e l') (e l'') Source #

All (KExtractF3' f) gs => KExtractF3' f (Sum gs) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3' :: Sum gs e (f l l' l'') -> f (e l) (e l') (e l'') Source #

KExtractF3' f g => KExtractF3' f (g :&: a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

kextractF3' :: (g :&: a) e (f l l' l'') -> f (e l) (e l') (e l'') Source #

class Functor f => InsertF f e where Source #

Methods

insertF :: Typeable l => f (e l) -> e (f l) Source #

Inverse of extractF. Pushes a functor into a label.

Example:

insertF :: [JavaProj SourceFileL] -> JavaProj [SourceFileL]

Note that this cannot be used on a labeled tree, as the insertion operation will require generating additional labels.

This is an instance of a distributive law, and can probably be replaced with such.

Instances

Instances details
(ListF :<: e, HFunctor e) => InsertF [] (Cxt h e a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

insertF :: Typeable l => [Cxt h e a l] -> Cxt h e a [l] Source #

(MaybeF :<: e, HFunctor e) => InsertF Maybe (Cxt h e a) Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.Functor

Methods

insertF :: Typeable l => Maybe (Cxt h e a l) -> Cxt h e a (Maybe l) Source #

insertFHole :: (InsertF e (Context f (HFix g)), Typeable l) => e (HFix g l) -> Context f (HFix g) (e l) Source #

liftF :: (InsertF f h, ExtractF f g, Functor f, Typeable b) => (f (g a) -> f (h b)) -> g (f a) -> h (f b) Source #

mapF :: (InsertF f h, ExtractF f g, Functor f, Typeable b) => (g a -> h b) -> g (f a) -> h (f b) Source #

data IdentL Source #

Instances

Instances details
KDynCase Ident IdentL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

(IdentIsVarDeclBinder :-<: fs, All HFunctor fs) => InjF fs IdentL VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

(IdentIsPyLValue :-<: fs, All HFunctor fs) => InjF fs IdentL PyLValueL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a IdentL -> CxtS h fs a PyLValueL Source #

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

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

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

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a IdentL -> 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 IdentL) Source #

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

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

(TupleBinder :-<: fs, All HFunctor fs) => InjF fs [IdentL] VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

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

Constructors

Ident :: String -> Ident e IdentL 

Instances

Instances details
ShowHF Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor Ident Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> Ident f :-> Ident 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 Ident IdentL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

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 MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data MultiLocalVarDeclCommonAttrsL Source #

Instances

Instances details
KDynCase EmptyMultiLocalVarDeclCommonAttrs MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

KDynCase ModifiersTypeIsMultiLocalVarDeclCommonAttrs MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

KDynCase CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

(CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs :-<: fs, All HFunctor fs) => InjF fs [CDeclarationSpecifierL] MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a [CDeclarationSpecifierL] -> CxtS h fs a MultiLocalVarDeclCommonAttrsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a MultiLocalVarDeclCommonAttrsL -> Maybe (Cxt h (Sum fs :&: p) a [CDeclarationSpecifierL]) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a MultiLocalVarDeclCommonAttrsL -> Maybe (CxtS h fs a [CDeclarationSpecifierL]) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

data LocalVarInitL Source #

Instances

Instances details
KDynCase LuaLocalVarInit LocalVarInitL Source # 
Instance details

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

Methods

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

KDynCase JSExpressionIsLocalVarInit LocalVarInitL Source # 
Instance details

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

Methods

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

KDynCase VarInitIsLocalVarInit LocalVarInitL Source # 
Instance details

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

Methods

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

KDynCase CInitializerIsLocalVarInit LocalVarInitL Source # 
Instance details

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

Methods

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

(JSExpressionIsLocalVarInit :-<: fs, All HFunctor fs) => InjF fs JSExpressionL LocalVarInitL 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 LocalVarInitL Source #

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

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

(VarInitIsLocalVarInit :-<: fs, All HFunctor fs) => InjF fs VarInitL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a VarInitL -> CxtS h fs a LocalVarInitL Source #

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

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

(CInitializerIsLocalVarInit :-<: fs, All HFunctor fs) => InjF fs CInitializerL LocalVarInitL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CInitializerL -> CxtS h fs a LocalVarInitL Source #

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

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

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 #

data OptLocalVarInitL Source #

Instances

Instances details
KDynCase OptLocalVarInit OptLocalVarInitL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

data OptLocalVarInit e l where Source #

Instances

Instances details
ShowHF OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor OptLocalVarInit Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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 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 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 OptLocalVarInit OptLocalVarInitL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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' 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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data TupleBinder e l where Source #

Represents declaring a list of identifiers, where the list of identifiers should be thought of a single entity being declared. Not to be used as the LHS of an assignment

This models the (x,y) = (1,2) pattern found in Haskell, or "local x,y" in Lua

Constructors

TupleBinder :: e [IdentL] -> TupleBinder e VarDeclBinderL 

Instances

Instances details
ShowHF TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor TupleBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJSSig 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 #

KDynCase TupleBinder VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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 #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

data IdentIsVarDeclBinder (e :: Type -> Type) i Source #

Constructors

i ~ VarDeclBinderL => IdentIsVarDeclBinder (e IdentL) 

Instances

Instances details
ShowHF IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor IdentIsVarDeclBinder Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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 MJavaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MCSig Source # 
Instance details

Defined in Cubix.ParsePretty

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 IdentIsVarDeclBinder VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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' 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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

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

Instances

Instances details
ShowHF EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor EmptyLocalVarDeclAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

Pretty MLuaSig Source # 
Instance details

Defined in Cubix.ParsePretty

Pretty MJSSig 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 #

KDynCase EmptyLocalVarDeclAttrs LocalVarDeclAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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 #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

data VarDeclBinderL Source #

Instances

Instances details
KDynCase TupleBinder VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

KDynCase IdentIsVarDeclBinder VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

KDynCase JSExpressionIsVarDeclBinder VarDeclBinderL Source # 
Instance details

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

Methods

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

(IdentIsVarDeclBinder :-<: fs, All HFunctor fs) => InjF fs IdentL VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

(JSExpressionIsVarDeclBinder :-<: fs, All HFunctor fs) => InjF fs JSExpressionL VarDeclBinderL 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 VarDeclBinderL Source #

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

projF :: forall h (a :: Type -> Type). CxtS h fs a VarDeclBinderL -> Maybe (CxtS h fs a JSExpressionL) 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 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 #

(TupleBinder :-<: fs, All HFunctor fs) => InjF fs [IdentL] VarDeclBinderL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

data SingleLocalVarDeclL Source #

See MultiLocalVarDecl spec

If no LocalVarInit is present, then the declared variable is unitialized, and may not be referenced until another language If a LocalVarInit is present, then it is executed immediately, before placing the variable in scope, and the result is stored in the declared variable.

We assume this variable can only be referenced by something enclosed by the local block which contains an identifier contained within the var binder, or at least by something assigned to some value derived from such a reference.

This forbids a newly-declared variable from referring to itself (sorry Haskell) This does not model C's "static" keyword

FIXME: So.....I wrote that variables declared without an initializer are unitialized, but that does not model Lua. Luckily, I don't actually depend on this anywhere.

Instances

Instances details
KDynCase SingleLocalVarDecl SingleLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

(SingleLocalVarDeclIsStat :-<: fs, All HFunctor fs) => InjF fs SingleLocalVarDeclL StatL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a SingleLocalVarDeclL -> CxtS h fs a StatL Source #

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

projF :: forall h (a :: Type -> Type). CxtS h fs a StatL -> Maybe (CxtS h fs a SingleLocalVarDeclL) 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 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 #

type InjectableSorts MLuaSig SingleLocalVarDeclL Source # 
Instance details

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

data SingleLocalVarDecl e l where Source #

Instances

Instances details
ShowHF SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

EqHF SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor SingleLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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 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 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 SingleLocalVarDecl SingleLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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' 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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

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

type CfgState MLuaSig Source # 
Instance details

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

type CfgState MJSSig Source # 
Instance details

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

type CfgState MJavaSig Source # 
Instance details

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

type CfgState MCSig Source # 
Instance details

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

type ContainerFunctors MLuaSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type ContainerFunctors MJavaSig Source # 
Instance details

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

type ContainerFunctors MCSig Source # 
Instance details

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

type SuspendedComputationSorts MLuaSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJavaSig Source # 
Instance details

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

type SuspendedComputationSorts MCSig Source # 
Instance details

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

type ComputationSorts MLuaSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MJavaSig Source # 
Instance details

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

type ComputationSorts MCSig Source # 
Instance details

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

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 MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data EmptyMultiLocalVarDeclCommonAttrs (e :: * -> *) l Source #

Instances

Instances details
ShowHF EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

EqHF EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

HTraversable EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

HFoldable EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

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

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

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

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

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

HFunctor EmptyMultiLocalVarDeclCommonAttrs Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

CfgInitState MJSSig Source # 
Instance details

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

Pretty MJSSig Source # 
Instance details

Defined in Cubix.ParsePretty

ParseFile MJSSig Source # 
Instance details

Defined in Cubix.ParsePretty

Methods

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

KDynCase EmptyMultiLocalVarDeclCommonAttrs MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

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 #

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

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

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

Methods

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

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

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

type CfgState MJSSig Source # 
Instance details

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

type ContainerFunctors MJSSig Source # 
Instance details

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

type SuspendedComputationSorts MJSSig Source # 
Instance details

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

type ComputationSorts MJSSig Source # 
Instance details

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

type InjectableSorts MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJSSig AssignL Source # 
Instance details

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

data MultiLocalVarDeclL Source #

Informal spec:

There is a notion of variable scope. Executing a MultiLocalVarDecl statement places each local variable declared into scope. Our intention is that MultiLocalVarDecl is only to be used for local declarations, although we have not yet found a reason why it can't be used for top-level variable declarations as in C.

  • - Multi local var decl Each variable declaration has no effect save putting the variable into scope, and executing the initializer expression. Initializer expressions, if present, are executed in left-to-right order. If the language has a notion of an initialized variable, then all declarations for which an initializer is present will be considered initialized.

Executing a MultiLocalVarDecl will execute all contained SingleLocalVardecl

Note: C++ variable declarations cannot use this, because the declarations are effectful FIXME: Does not really give a good account for space allocation (e.g.: references to local variables)

Instances

Instances details
KDynCase MultiLocalVarDecl MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

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

(MultiLocalVarDeclIsJSStatement :-<: fs, All HFunctor fs) => InjF fs MultiLocalVarDeclL JSStatementL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a MultiLocalVarDeclL -> CxtS h fs a JSStatementL Source #

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

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

(MultiLocalVarDeclIsBlockStmt :-<: fs, All HFunctor fs) => InjF fs MultiLocalVarDeclL BlockStmtL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a MultiLocalVarDeclL -> CxtS h fs a BlockStmtL Source #

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

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

(MultiLocalVarDeclIsCCompoundBlockItem :-<: fs, All HFunctor fs) => InjF fs MultiLocalVarDeclL CCompoundBlockItemL Source # 
Instance details

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

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a MultiLocalVarDeclL -> CxtS h fs a CCompoundBlockItemL Source #

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

projF :: forall h (a :: Type -> Type). CxtS h fs a CCompoundBlockItemL -> Maybe (CxtS h fs a MultiLocalVarDeclL) 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 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 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 #

type InjectableSorts MJSSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

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

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

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

data MultiLocalVarDecl e l where Source #

Instances

Instances details
ShowHF MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => MultiLocalVarDecl a i -> MultiLocalVarDecl a j -> Ordering #

EqHF MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => MultiLocalVarDecl g i -> MultiLocalVarDecl g j -> Bool #

HTraversable MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (MultiLocalVarDecl a) (MultiLocalVarDecl b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (MultiLocalVarDecl a) (MultiLocalVarDecl b) #

HFoldable MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => MultiLocalVarDecl (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> MultiLocalVarDecl a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> MultiLocalVarDecl a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> MultiLocalVarDecl a :=> b #

hfoldr1 :: (a -> a -> a) -> MultiLocalVarDecl (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> MultiLocalVarDecl (K a) :=> a #

HFunctor MultiLocalVarDecl Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> MultiLocalVarDecl f :-> MultiLocalVarDecl g #

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 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 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 MultiLocalVarDecl MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. MultiLocalVarDecl e b -> Maybe (b :~: MultiLocalVarDeclL) #

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' 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

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a (Maybe IdentL) -> CxtS h MJSSig a JSIdentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSIdentL -> Maybe (Cxt h (Sum MJSSig :&: p) a (Maybe IdentL)) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type CfgState MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Cfg

type CfgState MCSig Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Cfg

type ContainerFunctors MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Cfg

type ContainerFunctors MCSig Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Cfg

type SuspendedComputationSorts MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Cfg

type SuspendedComputationSorts MCSig Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Cfg

type ComputationSorts MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Cfg

type ComputationSorts MCSig Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Cfg

type InjectableSorts MJSSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

data AssignOpL Source #

See spec for assign

We assume that AssignOpEquals has, as its associated f_op, the function f(x,y)=(typeof x)y where (typeof x)y denotes a type conversion from y to the type of x. We leave it unspecified what exactly that means

Instances

Instances details
KDynCase AssignOpEquals AssignOpL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. AssignOpEquals e b -> Maybe (b :~: AssignOpL) #

KDynCase JSAssignOpIsAssignOp AssignOpL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAssignOpIsAssignOp e b -> Maybe (b :~: AssignOpL) #

KDynCase AssignOpIsAssignOp AssignOpL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. AssignOpIsAssignOp e b -> Maybe (b :~: AssignOpL) #

KDynCase CAssignOpIsAssignOp AssignOpL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. CAssignOpIsAssignOp e b -> Maybe (b :~: AssignOpL) #

(JSAssignOpIsAssignOp :-<: fs, All HFunctor fs) => InjF fs JSAssignOpL AssignOpL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JSAssignOpL -> CxtS h fs a AssignOpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a AssignOpL -> Maybe (Cxt h (Sum fs :&: p) a JSAssignOpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a AssignOpL -> Maybe (CxtS h fs a JSAssignOpL) Source #

(AssignOpIsAssignOp :-<: fs, All HFunctor fs) => InjF fs AssignOpL AssignOpL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignOpL -> CxtS h fs a AssignOpL0 Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a AssignOpL0 -> Maybe (Cxt h (Sum fs :&: p) a AssignOpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a AssignOpL0 -> Maybe (CxtS h fs a AssignOpL) Source #

(CAssignOpIsAssignOp :-<: fs, All HFunctor fs) => InjF fs CAssignOpL AssignOpL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CAssignOpL -> CxtS h fs a AssignOpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a AssignOpL -> Maybe (Cxt h (Sum fs :&: p) a CAssignOpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a AssignOpL -> Maybe (CxtS h fs a CAssignOpL) Source #

data AssignOpEquals (e :: * -> *) l where Source #

Instances

Instances details
ShowHF AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => AssignOpEquals a i -> AssignOpEquals a j -> Ordering #

EqHF AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => AssignOpEquals g i -> AssignOpEquals g j -> Bool #

HTraversable AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (AssignOpEquals a) (AssignOpEquals b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (AssignOpEquals a) (AssignOpEquals b) #

HFoldable AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => AssignOpEquals (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> AssignOpEquals a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> AssignOpEquals a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> AssignOpEquals a :=> b #

hfoldr1 :: (a -> a -> a) -> AssignOpEquals (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> AssignOpEquals (K a) :=> a #

HFunctor AssignOpEquals Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> AssignOpEquals f :-> AssignOpEquals 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 AssignOpEquals AssignOpL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. AssignOpEquals e b -> Maybe (b :~: AssignOpL) #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a (Maybe IdentL) -> CxtS h MJSSig a JSIdentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSIdentL -> Maybe (Cxt h (Sum MJSSig :&: p) a (Maybe IdentL)) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

data LhsL Source #

Instances

Instances details
KDynCase PyLhs LhsL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. PyLhs e b -> Maybe (b :~: LhsL) #

KDynCase LuaLhs LhsL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. LuaLhs e b -> Maybe (b :~: LhsL) #

KDynCase JSExpressionIsLhs LhsL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSExpressionIsLhs e b -> Maybe (b :~: LhsL) #

KDynCase LhsIsLhs LhsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. LhsIsLhs e b -> Maybe (b :~: LhsL) #

KDynCase CExpressionIsLhs LhsL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. CExpressionIsLhs e b -> Maybe (b :~: LhsL) #

(JSExpressionIsLhs :-<: fs, All HFunctor fs) => InjF fs JSExpressionL LhsL 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 LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a LhsL -> Maybe (Cxt h (Sum fs :&: p) a JSExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a LhsL -> Maybe (CxtS h fs a JSExpressionL) Source #

(CExpressionIsLhs :-<: fs, All HFunctor fs) => InjF fs CExpressionL LhsL 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 LhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a LhsL -> Maybe (Cxt h (Sum fs :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a LhsL -> Maybe (CxtS h fs a CExpressionL) Source #

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 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 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 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 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 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 #

data RhsL Source #

Instances

Instances details
KDynCase ExprIsRhs RhsL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. ExprIsRhs e b -> Maybe (b :~: RhsL) #

KDynCase LuaRhs RhsL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. LuaRhs e b -> Maybe (b :~: RhsL) #

KDynCase JSExpressionIsRhs RhsL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSExpressionIsRhs e b -> Maybe (b :~: RhsL) #

KDynCase ExpIsRhs RhsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. ExpIsRhs e b -> Maybe (b :~: RhsL) #

KDynCase CExpressionIsRhs RhsL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. CExpressionIsRhs e b -> Maybe (b :~: RhsL) #

(ExprIsRhs :-<: fs, All HFunctor fs) => InjF fs ExprL RhsL 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 RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a RhsL -> Maybe (Cxt h (Sum fs :&: p) a ExprL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a RhsL -> Maybe (CxtS h fs a ExprL) Source #

(JSExpressionIsRhs :-<: fs, All HFunctor fs) => InjF fs JSExpressionL RhsL 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 RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a RhsL -> Maybe (Cxt h (Sum fs :&: p) a JSExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a RhsL -> Maybe (CxtS h fs a JSExpressionL) Source #

(ExpIsRhs :-<: fs, All HFunctor fs) => InjF fs ExpL RhsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a ExpL -> CxtS h fs a RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a RhsL -> Maybe (Cxt h (Sum fs :&: p) a ExpL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a RhsL -> Maybe (CxtS h fs a ExpL) Source #

(CExpressionIsRhs :-<: fs, All HFunctor fs) => InjF fs CExpressionL RhsL 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 RhsL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a RhsL -> Maybe (Cxt h (Sum fs :&: p) a CExpressionL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a RhsL -> Maybe (CxtS h fs a CExpressionL) 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 [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 #

data AssignL Source #

The Assign node must have semantics of the following form:

store(lhs',f_op(lhs', eval(rhs))) where lhs' = evalToLoc(lhs)

where eval and evalToLoc are arbitrary evaluation function (potentially with side effects)

The lhs must be evaluated before the rhs.

Note that C can contain arbitrary function calls in lvalues

If an assign may be used in an expression context, then the store takes effect before its return value, all effects in eval(rhs) take effect before the return, and the return value is the value assigned to lhs

If the LHS is a variable, it will be considered initialized after execution of the Assign

FIXME: This spec should maybe contain something like "every var init can be a valid assign", because there are restrictions on assignments, e.g.: C can assign between lvalues with partial overlap. This opens up a rabbit hole of possible constraints we need to specify to avoid allowing transformations to create invalid programs

Instances

Instances details
KDynCase Assign AssignL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. Assign e b -> Maybe (b :~: AssignL) #

(AssignIsStatement :-<: fs, All HFunctor fs) => InjF fs AssignL StatementL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignL -> CxtS h fs a StatementL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a StatementL -> Maybe (Cxt h (Sum fs :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a StatementL -> Maybe (CxtS h fs a AssignL) Source #

(AssignIsStat :-<: fs, All HFunctor fs) => InjF fs AssignL StatL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignL -> CxtS h fs a StatL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a StatL -> Maybe (Cxt h (Sum fs :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a StatL -> Maybe (CxtS h fs a AssignL) Source #

(AssignIsJSExpression :-<: fs, All HFunctor fs) => InjF fs AssignL JSExpressionL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignL -> 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 AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a JSExpressionL -> Maybe (CxtS h fs a AssignL) Source #

(AssignIsExp :-<: fs, All HFunctor fs) => InjF fs AssignL ExpL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignL -> CxtS h fs a ExpL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a ExpL -> Maybe (Cxt h (Sum fs :&: p) a AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a ExpL -> Maybe (CxtS h fs a AssignL) Source #

(AssignIsCExpression :-<: fs, All HFunctor fs) => InjF fs AssignL CExpressionL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a AssignL -> 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 AssignL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a CExpressionL -> Maybe (CxtS h fs a AssignL) 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 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 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 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 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 #

type InjectableSorts MPythonSig AssignL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

type InjectableSorts MLuaSig AssignL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

data Assign e l where Source #

Constructors

Assign :: e LhsL -> e AssignOpL -> e RhsL -> Assign e AssignL 

Instances

Instances details
ShowHF Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => Assign a i -> Assign a j -> Ordering #

EqHF Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => Assign g i -> Assign g j -> Bool #

HTraversable Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (Assign a) (Assign b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (Assign a) (Assign b) #

HFoldable Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => Assign (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> Assign a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> Assign a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> Assign a :=> b #

hfoldr1 :: (a -> a -> a) -> Assign (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> Assign (K a) :=> a #

HFunctor Assign Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> Assign f :-> Assign 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 Assign AssignL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. Assign e b -> Maybe (b :~: AssignL) #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a (Maybe IdentL) -> CxtS h MJSSig a JSIdentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSIdentL -> Maybe (Cxt h (Sum MJSSig :&: p) a (Maybe IdentL)) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

data BlockItemL Source #

Instances

Instances details
KDynCase EmptyBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. EmptyBlockItem e b -> Maybe (b :~: BlockItemL) #

KDynCase StatementIsBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. StatementIsBlockItem e b -> Maybe (b :~: BlockItemL) #

KDynCase StatIsBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. StatIsBlockItem e b -> Maybe (b :~: BlockItemL) #

KDynCase JSStatementIsBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSStatementIsBlockItem e b -> Maybe (b :~: BlockItemL) #

KDynCase BlockStmtIsBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. BlockStmtIsBlockItem e b -> Maybe (b :~: BlockItemL) #

KDynCase CCompoundBlockItemIsBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. CCompoundBlockItemIsBlockItem e b -> Maybe (b :~: BlockItemL) #

(StatementIsBlockItem :-<: fs, All HFunctor fs) => InjF fs StatementL BlockItemL Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a StatementL -> CxtS h fs a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a BlockItemL -> Maybe (Cxt h (Sum fs :&: p) a StatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a BlockItemL -> Maybe (CxtS h fs a StatementL) Source #

(StatIsBlockItem :-<: fs, All HFunctor fs) => InjF fs StatL BlockItemL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a StatL -> CxtS h fs a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a BlockItemL -> Maybe (Cxt h (Sum fs :&: p) a StatL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a BlockItemL -> Maybe (CxtS h fs a StatL) Source #

(JSStatementIsBlockItem :-<: fs, All HFunctor fs) => InjF fs JSStatementL BlockItemL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a JSStatementL -> CxtS h fs a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a BlockItemL -> Maybe (Cxt h (Sum fs :&: p) a JSStatementL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a BlockItemL -> Maybe (CxtS h fs a JSStatementL) Source #

(BlockStmtIsBlockItem :-<: fs, All HFunctor fs) => InjF fs BlockStmtL BlockItemL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockStmtL -> CxtS h fs a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a BlockItemL -> Maybe (Cxt h (Sum fs :&: p) a BlockStmtL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a BlockItemL -> Maybe (CxtS h fs a BlockStmtL) Source #

(CCompoundBlockItemIsBlockItem :-<: fs, All HFunctor fs) => InjF fs CCompoundBlockItemL BlockItemL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a CCompoundBlockItemL -> CxtS h fs a BlockItemL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a BlockItemL -> Maybe (Cxt h (Sum fs :&: p) a CCompoundBlockItemL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a BlockItemL -> Maybe (CxtS h fs a CCompoundBlockItemL) 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 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 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 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 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 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 #

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' 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' 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

data BlockEndL Source #

Instances

Instances details
KDynCase EmptyBlockEnd BlockEndL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. EmptyBlockEnd e b -> Maybe (b :~: BlockEndL) #

KDynCase LuaBlockEnd BlockEndL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. LuaBlockEnd e b -> Maybe (b :~: BlockEndL) #

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 #

data EmptyBlockEnd (e :: * -> *) l where Source #

Instances

Instances details
ShowHF EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => EmptyBlockEnd a i -> EmptyBlockEnd a j -> Ordering #

EqHF EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => EmptyBlockEnd g i -> EmptyBlockEnd g j -> Bool #

HTraversable EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (EmptyBlockEnd a) (EmptyBlockEnd b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (EmptyBlockEnd a) (EmptyBlockEnd b) #

HFoldable EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => EmptyBlockEnd (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> EmptyBlockEnd a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> EmptyBlockEnd a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> EmptyBlockEnd a :=> b #

hfoldr1 :: (a -> a -> a) -> EmptyBlockEnd (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> EmptyBlockEnd (K a) :=> a #

HFunctor EmptyBlockEnd Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> EmptyBlockEnd f :-> EmptyBlockEnd g #

CfgInitState MPythonSig Source # 
Instance details

Defined in Cubix.Language.Python.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 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 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 EmptyBlockEnd BlockEndL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. EmptyBlockEnd e b -> Maybe (b :~: BlockEndL) #

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 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' 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

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 MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a (Maybe IdentL) -> CxtS h MJSSig a JSIdentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSIdentL -> Maybe (Cxt h (Sum MJSSig :&: p) a (Maybe IdentL)) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type CfgState MPythonSig Source # 
Instance details

Defined in Cubix.Language.Python.Parametric.Common.Cfg

type CfgState MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

data BlockL Source #

Instances

Instances details
KDynCase Block BlockL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. Block e b -> Maybe (b :~: BlockL) #

(BlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs BlockL FunctionBodyL Source # 
Instance details

Defined in Cubix.Language.Lua.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockL -> CxtS h fs a FunctionBodyL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionBodyL -> Maybe (Cxt h (Sum fs :&: p) a BlockL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionBodyL -> Maybe (CxtS h fs a BlockL) Source #

(BlockIsJSStatement :-<: fs, All HFunctor fs) => InjF fs BlockL JSStatementL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockL -> CxtS h fs a JSStatementL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a JSStatementL -> Maybe (Cxt h (Sum fs :&: p) a BlockL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a JSStatementL -> Maybe (CxtS h fs a BlockL) Source #

(BlockIsFunctionBody :-<: fs, All HFunctor fs) => InjF fs BlockL FunctionBodyL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h fs a BlockL -> CxtS h fs a FunctionBodyL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a FunctionBodyL -> Maybe (Cxt h (Sum fs :&: p) a BlockL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a FunctionBodyL -> Maybe (CxtS h fs a BlockL) 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 #

data Block e l where Source #

Block has the following semantics * Any variable introduced by MultiLocalVarDecl may not be referenced outside of the items contained in this block. * Beware that languages such as JavaScript have assignment constructs which do not obey this. We place * no limitation on the visibilty of other kinds of declarations.

We are also using this to model function bodies in Python, though these have the additional restriction of being nonempty

Constructors

Block :: e [BlockItemL] -> e BlockEndL -> Block e BlockL 

Instances

Instances details
ShowHF Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => Block a i -> Block a j -> Ordering #

EqHF Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => Block g i -> Block g j -> Bool #

HTraversable Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (Block a) (Block b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (Block a) (Block b) #

HFoldable Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => Block (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> Block a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> Block a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> Block a :=> b #

hfoldr1 :: (a -> a -> a) -> Block (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> Block (K a) :=> a #

HFunctor Block Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> Block f :-> Block 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 Block BlockL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. Block e b -> Maybe (b :~: BlockL) #

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

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 #

InjF MJSSig (Maybe IdentL) JSIdentL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

injF :: forall h (a :: Type -> Type). CxtS h MJSSig a (Maybe IdentL) -> CxtS h MJSSig a JSIdentL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum MJSSig :&: p) a JSIdentL -> Maybe (Cxt h (Sum MJSSig :&: p) a (Maybe IdentL)) Source #

projF :: forall h (a :: Type -> Type). CxtS h MJSSig a JSIdentL -> Maybe (CxtS h MJSSig a (Maybe IdentL)) Source #

InjF MJavaSig ([ModifierL], TypeL) MultiLocalVarDeclCommonAttrsL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type CfgState MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ContainerFunctors MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type SuspendedComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Cfg

type ComputationSorts MJavaSig Source # 
Instance details

Defined in Cubix.Language.Java.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 MJSSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJSSig AssignL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

type InjectableSorts MJavaSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.Java.Parametric.Common.Types

type InjectableSorts MCSig MultiLocalVarDeclL Source # 
Instance details

Defined in Cubix.Language.C.Parametric.Common.Types

data EmptyBlockItem (e :: * -> *) l where Source #

This is inserted at the end of blocks so that there's a place to insert at the end of blocks, and so that the sort of empty block-item lists can be correctly determined

This is a bit of a hack....but, it's actually kinda nice in some ways

Instances

Instances details
ShowHF EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

OrdHF EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => EmptyBlockItem a i -> EmptyBlockItem a j -> Ordering #

EqHF EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => EmptyBlockItem g i -> EmptyBlockItem g j -> Bool #

HTraversable EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (EmptyBlockItem a) (EmptyBlockItem b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (EmptyBlockItem a) (EmptyBlockItem b) #

HFoldable EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfold :: Monoid m => EmptyBlockItem (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> EmptyBlockItem a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> EmptyBlockItem a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> EmptyBlockItem a :=> b #

hfoldr1 :: (a -> a -> a) -> EmptyBlockItem (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> EmptyBlockItem (K a) :=> a #

HFunctor EmptyBlockItem Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> EmptyBlockItem f :-> EmptyBlockItem g #

KDynCase EmptyBlockItem BlockItemL Source # 
Instance details

Defined in Cubix.Language.Parametric.Syntax.VarDecl

Methods

kdyncase :: forall (e :: Type -> Type) b. EmptyBlockItem e b -> Maybe (b :~: BlockItemL) #

pattern Ident' :: (Ident :-<: fs, All HFunctor fs) => String -> CxtS h fs a IdentL Source #

iIdent :: forall h fs a j. ((:-<:) Ident fs, InjF fs IdentL j) => String -> CxtS h fs a j Source #

iJustLocalVarInit :: forall h fs a j. ((:-<:) OptLocalVarInit fs, InjF fs OptLocalVarInitL j) => CxtS h fs a LocalVarInitL -> CxtS h fs a j Source #

iNoLocalVarInit :: forall h fs a j. ((:-<:) OptLocalVarInit fs, InjF fs OptLocalVarInitL j) => CxtS h fs a j Source #

pattern TupleBinder' :: (TupleBinder :-<: fs, All HFunctor fs) => CxtS h fs a [IdentL] -> CxtS h fs a VarDeclBinderL Source #

iTupleBinder :: forall h fs a j. ((:-<:) TupleBinder fs, InjF fs VarDeclBinderL j) => CxtS h fs a [IdentL] -> CxtS h fs a j Source #

iIdentIsVarDeclBinder :: forall h fs a j. ((:-<:) IdentIsVarDeclBinder fs, InjF fs VarDeclBinderL j) => CxtS h fs a IdentL -> CxtS h fs a j Source #

iAssignOpEquals :: forall h fs a j. ((:-<:) AssignOpEquals fs, InjF fs AssignOpL j) => CxtS h fs a j Source #

pattern Assign' :: (Assign :-<: fs, All HFunctor fs) => CxtS h fs a LhsL -> CxtS h fs a AssignOpL -> CxtS h fs a RhsL -> CxtS h fs a AssignL Source #

iAssign :: forall h fs a j. ((:-<:) Assign fs, InjF fs AssignL j) => CxtS h fs a LhsL -> CxtS h fs a AssignOpL -> CxtS h fs a RhsL -> CxtS h fs a j Source #

iEmptyBlockEnd :: forall h fs a j. ((:-<:) EmptyBlockEnd fs, InjF fs BlockEndL j) => CxtS h fs a j Source #

pattern Block' :: (Block :-<: fs, All HFunctor fs) => CxtS h fs a [BlockItemL] -> CxtS h fs a BlockEndL -> CxtS h fs a BlockL Source #

iBlock :: forall h fs a j. ((:-<:) Block fs, InjF fs BlockL j) => CxtS h fs a [BlockItemL] -> CxtS h fs a BlockEndL -> CxtS h fs a j Source #

iEmptyBlockItem :: forall h fs a j. ((:-<:) EmptyBlockItem fs, InjF fs BlockItemL j) => CxtS h fs a j Source #