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

Cubix.Language.C.Parametric.Common

Synopsis

Documentation

data CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs e l where Source #

Instances

Instances details
ShowHF CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

OrdHF CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

EqHF CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

HTraversable CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

HFoldable CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

HFunctor CDeclarationSpecifiersIsMultiLocalVarDeclCommonAttrs Source # 
Instance details

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

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

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

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

Instances

Instances details
ShowHF CLocalVarAttrs Source # 
Instance details

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

OrdHF CLocalVarAttrs Source # 
Instance details

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

Methods

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

EqHF CLocalVarAttrs Source # 
Instance details

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

Methods

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

HTraversable CLocalVarAttrs Source # 
Instance details

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

Methods

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

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

HFoldable CLocalVarAttrs Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CLocalVarAttrs Source # 
Instance details

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

Methods

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

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

Methods

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

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

iCLocalVarAttrs :: forall h fs a j. ((:-<:) CLocalVarAttrs fs, InjF fs LocalVarDeclAttrsL j) => CxtS h fs a [CDerivedDeclaratorL] -> CxtS h fs a (Maybe CStringLiteralL) -> CxtS h fs a [CAttributeL] -> CxtS h fs a j Source #

data MultiLocalVarDeclIsCCompoundBlockItem (e :: Type -> Type) i Source #

Instances

Instances details
ShowHF MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

OrdHF MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

EqHF MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

HTraversable MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

HFoldable MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor MultiLocalVarDeclIsCCompoundBlockItem Source # 
Instance details

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

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

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

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 CInitializerIsLocalVarInit (e :: Type -> Type) i Source #

Instances

Instances details
ShowHF CInitializerIsLocalVarInit Source # 
Instance details

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

OrdHF CInitializerIsLocalVarInit Source # 
Instance details

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

Methods

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

EqHF CInitializerIsLocalVarInit Source # 
Instance details

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

Methods

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

HTraversable CInitializerIsLocalVarInit Source # 
Instance details

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

Methods

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

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

HFoldable CInitializerIsLocalVarInit Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CInitializerIsLocalVarInit Source # 
Instance details

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

Methods

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

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 IdentIsIdent (e :: Type -> Type) i Source #

Constructors

i ~ IdentL => IdentIsIdent (e IdentL) 

Instances

Instances details
ShowHF IdentIsIdent Source # 
Instance details

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

OrdHF IdentIsIdent Source # 
Instance details

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

Methods

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

EqHF IdentIsIdent Source # 
Instance details

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

Methods

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

HTraversable IdentIsIdent Source # 
Instance details

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

Methods

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

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

HFoldable IdentIsIdent Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor IdentIsIdent Source # 
Instance details

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

Methods

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

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 CExpressionIsLhs (e :: Type -> Type) i Source #

Constructors

i ~ LhsL => CExpressionIsLhs (e CExpressionL) 

Instances

Instances details
ShowHF CExpressionIsLhs Source # 
Instance details

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

OrdHF CExpressionIsLhs Source # 
Instance details

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

Methods

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

EqHF CExpressionIsLhs Source # 
Instance details

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

Methods

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

HTraversable CExpressionIsLhs Source # 
Instance details

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

Methods

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

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

HFoldable CExpressionIsLhs Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CExpressionIsLhs Source # 
Instance details

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

Methods

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

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 CExpressionIsRhs (e :: Type -> Type) i Source #

Constructors

i ~ RhsL => CExpressionIsRhs (e CExpressionL) 

Instances

Instances details
ShowHF CExpressionIsRhs Source # 
Instance details

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

OrdHF CExpressionIsRhs Source # 
Instance details

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

Methods

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

EqHF CExpressionIsRhs Source # 
Instance details

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

Methods

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

HTraversable CExpressionIsRhs Source # 
Instance details

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

Methods

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

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

HFoldable CExpressionIsRhs Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CExpressionIsRhs Source # 
Instance details

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

Methods

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

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 CAssignOpIsAssignOp (e :: Type -> Type) i Source #

Constructors

i ~ AssignOpL => CAssignOpIsAssignOp (e CAssignOpL) 

Instances

Instances details
ShowHF CAssignOpIsAssignOp Source # 
Instance details

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

OrdHF CAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

EqHF CAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

HTraversable CAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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

HFoldable CAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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