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

Cubix.Language.JavaScript.Parametric.Common

Synopsis

Documentation

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

Constructors

i ~ JSExpressionL => IdentIsJSExpression (e IdentL) 

Instances

Instances details
ShowHF IdentIsJSExpression Source # 
Instance details

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

OrdHF IdentIsJSExpression Source # 
Instance details

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

Methods

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

EqHF IdentIsJSExpression Source # 
Instance details

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

Methods

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

HTraversable IdentIsJSExpression Source # 
Instance details

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

Methods

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

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

HFoldable IdentIsJSExpression Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor IdentIsJSExpression Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
ShowHF JSExpressionIsLocalVarInit Source # 
Instance details

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

OrdHF JSExpressionIsLocalVarInit Source # 
Instance details

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

Methods

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

EqHF JSExpressionIsLocalVarInit Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsLocalVarInit Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsLocalVarInit Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsLocalVarInit Source # 
Instance details

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

Methods

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

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

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

Instances

Instances details
ShowHF JSExpressionIsVarDeclBinder Source # 
Instance details

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

OrdHF JSExpressionIsVarDeclBinder Source # 
Instance details

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

Methods

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

EqHF JSExpressionIsVarDeclBinder Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsVarDeclBinder Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsVarDeclBinder Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsVarDeclBinder Source # 
Instance details

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

Methods

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

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

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

Instances

Instances details
ShowHF MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

OrdHF MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

EqHF MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

Methods

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

HTraversable MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

Methods

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

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

HFoldable MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor MultiLocalVarDeclIsJSStatement Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Constructors

i ~ RhsL => JSExpressionIsRhs (e JSExpressionL) 

Instances

Instances details
ShowHF JSExpressionIsRhs Source # 
Instance details

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

OrdHF JSExpressionIsRhs Source # 
Instance details

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

Methods

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

EqHF JSExpressionIsRhs Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsRhs Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsRhs Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsRhs Source # 
Instance details

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

Methods

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

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

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

Constructors

i ~ LhsL => JSExpressionIsLhs (e JSExpressionL) 

Instances

Instances details
ShowHF JSExpressionIsLhs Source # 
Instance details

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

OrdHF JSExpressionIsLhs Source # 
Instance details

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

Methods

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

EqHF JSExpressionIsLhs Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsLhs Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsLhs Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsLhs Source # 
Instance details

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

Methods

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

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

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

Constructors

i ~ AssignOpL => JSAssignOpIsAssignOp (e JSAssignOpL) 

Instances

Instances details
ShowHF JSAssignOpIsAssignOp Source # 
Instance details

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

OrdHF JSAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

EqHF JSAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

HTraversable JSAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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

HFoldable JSAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSAssignOpIsAssignOp Source # 
Instance details

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

Methods

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

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

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

Constructors

i ~ JSExpressionL => AssignIsJSExpression (e AssignL) 

Instances

Instances details
ShowHF AssignIsJSExpression Source # 
Instance details

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

OrdHF AssignIsJSExpression Source # 
Instance details

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

Methods

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

EqHF AssignIsJSExpression Source # 
Instance details

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

Methods

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

HTraversable AssignIsJSExpression Source # 
Instance details

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

Methods

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

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

HFoldable AssignIsJSExpression Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor AssignIsJSExpression Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Constructors

i ~ JSStatementL => BlockIsJSStatement (e BlockL) 

Instances

Instances details
ShowHF BlockIsJSStatement Source # 
Instance details

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

OrdHF BlockIsJSStatement Source # 
Instance details

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

Methods

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

EqHF BlockIsJSStatement Source # 
Instance details

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

Methods

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

HTraversable BlockIsJSStatement Source # 
Instance details

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

Methods

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

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

HFoldable BlockIsJSStatement Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor BlockIsJSStatement Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
ShowHF JSStatementIsBlockItem Source # 
Instance details

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

OrdHF JSStatementIsBlockItem Source # 
Instance details

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

Methods

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

EqHF JSStatementIsBlockItem Source # 
Instance details

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

Methods

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

HTraversable JSStatementIsBlockItem Source # 
Instance details

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

Methods

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

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

HFoldable JSStatementIsBlockItem Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSStatementIsBlockItem Source # 
Instance details

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

Methods

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

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

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

Constructors

i ~ JSASTL => JSBlockIsJSAST (e JSBlockL) 

Instances

Instances details
ShowHF JSBlockIsJSAST Source # 
Instance details

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

OrdHF JSBlockIsJSAST Source # 
Instance details

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

Methods

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

EqHF JSBlockIsJSAST Source # 
Instance details

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

Methods

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

HTraversable JSBlockIsJSAST Source # 
Instance details

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

Methods

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

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

HFoldable JSBlockIsJSAST Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSBlockIsJSAST Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

iJSBlockIsJSAST :: forall h fs a j. ((:-<:) JSBlockIsJSAST fs, InjF fs JSASTL j) => CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSStatementIsBlockItem :: forall h fs a j. ((:-<:) JSStatementIsBlockItem fs, InjF fs BlockItemL j) => CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iBlockIsJSStatement :: forall h fs a j. ((:-<:) BlockIsJSStatement fs, InjF fs JSStatementL j) => CxtS h fs a BlockL -> CxtS h fs a j Source #

iAssignIsJSExpression :: forall h fs a j. ((:-<:) AssignIsJSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a AssignL -> CxtS h fs a j Source #

iJSAssignOpIsAssignOp :: forall h fs a j. ((:-<:) JSAssignOpIsAssignOp fs, InjF fs AssignOpL j) => CxtS h fs a JSAssignOpL -> CxtS h fs a j Source #

iJSExpressionIsLhs :: forall h fs a j. ((:-<:) JSExpressionIsLhs fs, InjF fs LhsL j) => CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSExpressionIsRhs :: forall h fs a j. ((:-<:) JSExpressionIsRhs fs, InjF fs RhsL j) => CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iIdentIsJSExpression :: forall h fs a j. ((:-<:) IdentIsJSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a IdentL -> CxtS h fs a j Source #

data MaybeIdentIsJSIdent e l where Source #

Instances

Instances details
ShowHF MaybeIdentIsJSIdent Source # 
Instance details

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

OrdHF MaybeIdentIsJSIdent Source # 
Instance details

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

Methods

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

EqHF MaybeIdentIsJSIdent Source # 
Instance details

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

Methods

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

HTraversable MaybeIdentIsJSIdent Source # 
Instance details

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

Methods

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

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

HFoldable MaybeIdentIsJSIdent Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor MaybeIdentIsJSIdent Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

iMaybeIdentIsJSIdent :: forall h fs a j. ((:-<:) MaybeIdentIsJSIdent fs, InjF fs JSIdentL j) => CxtS h fs a (Maybe IdentL) -> CxtS h fs a j Source #

data JSFor e l where Source #

Instances

Instances details
ShowHF JSFor Source # 
Instance details

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

OrdHF JSFor Source # 
Instance details

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

Methods

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

EqHF JSFor Source # 
Instance details

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

Methods

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

HTraversable JSFor Source # 
Instance details

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

Methods

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

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

HFoldable JSFor Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSFor Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

iJSForVarIn :: forall h fs a j. ((:-<:) JSFor fs, InjF fs JSStatementL j) => CxtS h fs a SingleLocalVarDeclL -> CxtS h fs a JSBinOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSForVar :: forall h fs a j. ((:-<:) JSFor fs, InjF fs JSStatementL j) => CxtS h fs a [SingleLocalVarDeclL] -> CxtS h fs a [JSExpressionL] -> CxtS h fs a [JSExpressionL] -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSForIn :: forall h fs a j. ((:-<:) JSFor fs, InjF fs JSStatementL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSBinOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSFor :: forall h fs a j. ((:-<:) JSFor fs, InjF fs JSStatementL j) => CxtS h fs a [JSExpressionL] -> CxtS h fs a [JSExpressionL] -> CxtS h fs a [JSExpressionL] -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

data BlockWithPrelude e l where Source #

Instances

Instances details
ShowHF BlockWithPrelude Source # 
Instance details

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

OrdHF BlockWithPrelude Source # 
Instance details

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

Methods

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

EqHF BlockWithPrelude Source # 
Instance details

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

Methods

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

HTraversable BlockWithPrelude Source # 
Instance details

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

Methods

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

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

HFoldable BlockWithPrelude Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor BlockWithPrelude Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

iBlockWithPrelude :: forall h fs a j. ((:-<:) BlockWithPrelude fs, InjF fs JSBlockL j) => [String] -> CxtS h fs a BlockL -> CxtS h fs a j Source #

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

Instances

Instances details
ShowHF FunctionCallIsJSExpression Source # 
Instance details

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

OrdHF FunctionCallIsJSExpression Source # 
Instance details

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

Methods

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

EqHF FunctionCallIsJSExpression Source # 
Instance details

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

Methods

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

HTraversable FunctionCallIsJSExpression Source # 
Instance details

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

Methods

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

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

HFoldable FunctionCallIsJSExpression Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor FunctionCallIsJSExpression Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
ShowHF JSExpressionIsPositionalArgExp Source # 
Instance details

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

OrdHF JSExpressionIsPositionalArgExp Source # 
Instance details

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

EqHF JSExpressionIsPositionalArgExp Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsPositionalArgExp Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsPositionalArgExp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsPositionalArgExp Source # 
Instance details

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

Methods

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

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

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

Instances

Instances details
ShowHF JSExpressionIsFunctionExp Source # 
Instance details

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

OrdHF JSExpressionIsFunctionExp Source # 
Instance details

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

Methods

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

EqHF JSExpressionIsFunctionExp Source # 
Instance details

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

Methods

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

HTraversable JSExpressionIsFunctionExp Source # 
Instance details

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

Methods

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

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

HFoldable JSExpressionIsFunctionExp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpressionIsFunctionExp Source # 
Instance details

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

Methods

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

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

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

Instances

Instances details
ShowHF FunctionDefIsJSStatement Source # 
Instance details

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

OrdHF FunctionDefIsJSStatement Source # 
Instance details

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

Methods

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

EqHF FunctionDefIsJSStatement Source # 
Instance details

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

Methods

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

HTraversable FunctionDefIsJSStatement Source # 
Instance details

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

Methods

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

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

HFoldable FunctionDefIsJSStatement Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor FunctionDefIsJSStatement Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
ShowHF JSBlockIsFunctionBody Source # 
Instance details

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

OrdHF JSBlockIsFunctionBody Source # 
Instance details

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

Methods

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

EqHF JSBlockIsFunctionBody Source # 
Instance details

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

Methods

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

HTraversable JSBlockIsFunctionBody Source # 
Instance details

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

Methods

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

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

HFoldable JSBlockIsFunctionBody Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSBlockIsFunctionBody Source # 
Instance details

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

Methods

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

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

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

iJSBlockIsFunctionBody :: forall h fs a j. ((:-<:) JSBlockIsFunctionBody fs, InjF fs FunctionBodyL j) => CxtS h fs a JSBlockL -> CxtS h fs a j Source #

type MJSCxt h a = CxtS h MJSSig a Source #

type MJSCxtA h a p = AnnCxtS p h MJSSig a Source #

data JSCommaTrailingListF e l where Source #

Instances

Instances details
ShowHF JSCommaTrailingListF Source # 
Instance details

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

OrdHF JSCommaTrailingListF Source # 
Instance details

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

Methods

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

EqHF JSCommaTrailingListF Source # 
Instance details

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

Methods

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

HTraversable JSCommaTrailingListF Source # 
Instance details

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

Methods

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

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

HFoldable JSCommaTrailingListF Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSCommaTrailingListF Source # 
Instance details

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

Methods

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

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 #

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

type JSCommaTrailingList l = JSCommaTrailingList l Source #

data JSCommaListF e l where Source #

Constructors

JSLCons :: e (JSCommaList l) -> e JSAnnotL -> e l -> JSCommaListF e (JSCommaList l) 
JSLOne :: e l -> JSCommaListF e (JSCommaList l) 
JSLNil :: JSCommaListF e (JSCommaList t) 

Instances

Instances details
ShowHF JSCommaListF Source # 
Instance details

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

OrdHF JSCommaListF Source # 
Instance details

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

Methods

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

EqHF JSCommaListF Source # 
Instance details

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

Methods

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

HTraversable JSCommaListF Source # 
Instance details

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

Methods

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

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

HFoldable JSCommaListF Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSCommaListF Source # 
Instance details

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

Methods

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

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 #

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

type JSCommaList l = JSCommaList l Source #

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

Instances

Instances details
ShowHF CommentAnnotation Source # 
Instance details

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

OrdHF CommentAnnotation Source # 
Instance details

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

Methods

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

EqHF CommentAnnotation Source # 
Instance details

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

Methods

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

HTraversable CommentAnnotation Source # 
Instance details

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

Methods

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

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

HFoldable CommentAnnotation Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor CommentAnnotation Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase TokenPosn TokenPosnL Source # 
Instance details

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

Methods

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

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

Constructors

i ~ TokenPosnL => TokenPn !Int !Int !Int 

Instances

Instances details
ShowHF TokenPosn Source # 
Instance details

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

OrdHF TokenPosn Source # 
Instance details

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

Methods

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

EqHF TokenPosn Source # 
Instance details

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

Methods

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

HTraversable TokenPosn Source # 
Instance details

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

Methods

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

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

HFoldable TokenPosn Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor TokenPosn Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

pattern JSVarInit :: () => i ~ JSVarInitializerL => !(e JSAnnotL) -> !(e JSExpressionL) -> JSVarInitializer e i Source #

pattern JSVarInitNone :: () => i ~ JSVarInitializerL => JSVarInitializer e i Source #

data JSUnaryOpL Source #

Instances

Instances details
KDynCase JSUnaryOp JSUnaryOpL Source # 
Instance details

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

Methods

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

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

Instances

Instances details
ShowHF JSUnaryOp Source # 
Instance details

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

OrdHF JSUnaryOp Source # 
Instance details

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

Methods

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

EqHF JSUnaryOp Source # 
Instance details

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

Methods

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

HTraversable JSUnaryOp Source # 
Instance details

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

Methods

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

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

HFoldable JSUnaryOp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSUnaryOp Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSTryFinally JSTryFinallyL Source # 
Instance details

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

Methods

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

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

Constructors

i ~ JSTryFinallyL => JSFinally !(e JSAnnotL) !(e JSBlockL) 
i ~ JSTryFinallyL => JSNoFinally 

Instances

Instances details
ShowHF JSTryFinally Source # 
Instance details

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

OrdHF JSTryFinally Source # 
Instance details

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

Methods

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

EqHF JSTryFinally Source # 
Instance details

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

Methods

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

HTraversable JSTryFinally Source # 
Instance details

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

Methods

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

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

HFoldable JSTryFinally Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSTryFinally Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSTryCatch JSTryCatchL Source # 
Instance details

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

Methods

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

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

Constructors

i ~ JSTryCatchL => JSCatch !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSBlockL) 
i ~ JSTryCatchL => JSCatchIf !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSBlockL) 

Instances

Instances details
ShowHF JSTryCatch Source # 
Instance details

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

OrdHF JSTryCatch Source # 
Instance details

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

Methods

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

EqHF JSTryCatch Source # 
Instance details

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

Methods

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

HTraversable JSTryCatch Source # 
Instance details

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

Methods

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

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

HFoldable JSTryCatch Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSTryCatch Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSSwitchParts JSSwitchPartsL Source # 
Instance details

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

Methods

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

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

Constructors

i ~ JSSwitchPartsL => JSCase !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e [JSStatementL]) 
i ~ JSSwitchPartsL => JSDefault !(e JSAnnotL) !(e JSAnnotL) !(e [JSStatementL]) 

Instances

Instances details
ShowHF JSSwitchParts Source # 
Instance details

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

OrdHF JSSwitchParts Source # 
Instance details

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

Methods

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

EqHF JSSwitchParts Source # 
Instance details

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

Methods

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

HTraversable JSSwitchParts Source # 
Instance details

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

Methods

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

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

HFoldable JSSwitchParts Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSSwitchParts Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSStatement JSStatementL Source # 
Instance details

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

Methods

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

KDynCase BlockIsJSStatement JSStatementL Source # 
Instance details

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

Methods

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

KDynCase MultiLocalVarDeclIsJSStatement JSStatementL Source # 
Instance details

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

Methods

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

KDynCase JSFor JSStatementL Source # 
Instance details

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

Methods

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

KDynCase FunctionDefIsJSStatement JSStatementL Source # 
Instance details

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

Methods

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

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

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

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

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

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

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

Constructors

i ~ JSStatementL => JSStatementBlock !(e JSAnnotL) !(e [JSStatementL]) !(e JSAnnotL) !(e JSSemiL) 
i ~ JSStatementL => JSBreak !(e JSAnnotL) !(e JSIdentL) !(e JSSemiL) 
i ~ JSStatementL => JSConstant !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSSemiL) 
i ~ JSStatementL => JSContinue !(e JSAnnotL) !(e JSIdentL) !(e JSSemiL) 
i ~ JSStatementL => JSDoWhile !(e JSAnnotL) !(e JSStatementL) !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSSemiL) 
i ~ JSStatementL => JSFunction !(e JSAnnotL) !(e JSIdentL) !(e JSAnnotL) !(e (JSCommaList JSIdentL)) !(e JSAnnotL) !(e JSBlockL) !(e JSSemiL) 
i ~ JSStatementL => JSIf !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSStatementL) 
i ~ JSStatementL => JSIfElse !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSStatementL) !(e JSAnnotL) !(e JSStatementL) 
i ~ JSStatementL => JSLabelled !(e JSIdentL) !(e JSAnnotL) !(e JSStatementL) 
i ~ JSStatementL => JSEmptyStatement !(e JSAnnotL) 
i ~ JSStatementL => JSExpressionStatement !(e JSExpressionL) !(e JSSemiL) 
i ~ JSStatementL => JSAssignStatement !(e JSExpressionL) !(e JSAssignOpL) !(e JSExpressionL) !(e JSSemiL) 
i ~ JSStatementL => JSMethodCall !(e JSExpressionL) !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSAnnotL) !(e JSSemiL) 
i ~ JSStatementL => JSReturn !(e JSAnnotL) !(e (Maybe JSExpressionL)) !(e JSSemiL) 
i ~ JSStatementL => JSSwitch !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSAnnotL) !(e [JSSwitchPartsL]) !(e JSAnnotL) !(e JSSemiL) 
i ~ JSStatementL => JSThrow !(e JSAnnotL) !(e JSExpressionL) !(e JSSemiL) 
i ~ JSStatementL => JSTry !(e JSAnnotL) !(e JSBlockL) !(e [JSTryCatchL]) !(e JSTryFinallyL) 
i ~ JSStatementL => JSVariable !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSSemiL) 
i ~ JSStatementL => JSWhile !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSStatementL) 
i ~ JSStatementL => JSWith !(e JSAnnotL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSStatementL) !(e JSSemiL) 

Instances

Instances details
ShowHF JSStatement Source # 
Instance details

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

OrdHF JSStatement Source # 
Instance details

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

Methods

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

EqHF JSStatement Source # 
Instance details

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

Methods

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

HTraversable JSStatement Source # 
Instance details

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

Methods

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

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

HFoldable JSStatement Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSStatement Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSSemi JSSemiL Source # 
Instance details

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

Methods

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

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

Constructors

i ~ JSSemiL => JSSemi !(e JSAnnotL) 
i ~ JSSemiL => JSSemiAuto 

Instances

Instances details
ShowHF JSSemi Source # 
Instance details

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

OrdHF JSSemi Source # 
Instance details

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

Methods

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

EqHF JSSemi Source # 
Instance details

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

Methods

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

HTraversable JSSemi Source # 
Instance details

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

Methods

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

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

HFoldable JSSemi Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSSemi Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSPropertyName JSPropertyNameL Source # 
Instance details

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

Methods

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

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

Instances

Instances details
ShowHF JSPropertyName Source # 
Instance details

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

OrdHF JSPropertyName Source # 
Instance details

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

Methods

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

EqHF JSPropertyName Source # 
Instance details

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

Methods

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

HTraversable JSPropertyName Source # 
Instance details

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

Methods

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

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

HFoldable JSPropertyName Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSPropertyName Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
ShowHF JSObjectProperty Source # 
Instance details

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

OrdHF JSObjectProperty Source # 
Instance details

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

Methods

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

EqHF JSObjectProperty Source # 
Instance details

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

Methods

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

HTraversable JSObjectProperty Source # 
Instance details

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

Methods

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

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

HFoldable JSObjectProperty Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSObjectProperty Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase MaybeIdentIsJSIdent JSIdentL Source # 
Instance details

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

Methods

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

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 #

pattern JSIdentName :: () => i ~ JSIdentL => !(e JSAnnotL) -> !String -> JSIdent e i Source #

pattern JSIdentNone :: () => i ~ JSIdentL => JSIdent e i Source #

data JSExpressionL Source #

Instances

Instances details
KDynCase JSExpression JSExpressionL Source # 
Instance details

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

Methods

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

KDynCase AssignIsJSExpression JSExpressionL Source # 
Instance details

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

Methods

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

KDynCase IdentIsJSExpression JSExpressionL Source # 
Instance details

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

Methods

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

KDynCase FunctionCallIsJSExpression JSExpressionL Source # 
Instance details

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

Methods

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

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

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

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

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

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

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

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

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

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

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

Constructors

i ~ JSExpressionL => JSIdentifier !(e JSAnnotL) !String 
i ~ JSExpressionL => JSDecimal !(e JSAnnotL) !String 
i ~ JSExpressionL => JSLiteral !(e JSAnnotL) !String 
i ~ JSExpressionL => JSHexInteger !(e JSAnnotL) !String 
i ~ JSExpressionL => JSOctal !(e JSAnnotL) !String 
i ~ JSExpressionL => JSStringLiteral !(e JSAnnotL) !String 
i ~ JSExpressionL => JSRegEx !(e JSAnnotL) !String 
i ~ JSExpressionL => JSArrayLiteral !(e JSAnnotL) !(e [JSArrayElementL]) !(e JSAnnotL) 
i ~ JSExpressionL => JSAssignExpression !(e JSExpressionL) !(e JSAssignOpL) !(e JSExpressionL) 
i ~ JSExpressionL => JSCallExpression !(e JSExpressionL) !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSAnnotL) 
i ~ JSExpressionL => JSCallExpressionDot !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) 
i ~ JSExpressionL => JSCallExpressionSquare !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) 
i ~ JSExpressionL => JSCommaExpression !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) 
i ~ JSExpressionL => JSExpressionBinary !(e JSExpressionL) !(e JSBinOpL) !(e JSExpressionL) 
i ~ JSExpressionL => JSExpressionParen !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) 
i ~ JSExpressionL => JSExpressionPostfix !(e JSExpressionL) !(e JSUnaryOpL) 
i ~ JSExpressionL => JSExpressionTernary !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) 
i ~ JSExpressionL => JSFunctionExpression !(e JSAnnotL) !(e JSIdentL) !(e JSAnnotL) !(e (JSCommaList JSIdentL)) !(e JSAnnotL) !(e JSBlockL) 
i ~ JSExpressionL => JSMemberDot !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) 
i ~ JSExpressionL => JSMemberExpression !(e JSExpressionL) !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSAnnotL) 
i ~ JSExpressionL => JSMemberNew !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) !(e (JSCommaList JSExpressionL)) !(e JSAnnotL) 
i ~ JSExpressionL => JSMemberSquare !(e JSExpressionL) !(e JSAnnotL) !(e JSExpressionL) !(e JSAnnotL) 
i ~ JSExpressionL => JSNewExpression !(e JSAnnotL) !(e JSExpressionL) 
i ~ JSExpressionL => JSObjectLiteral !(e JSAnnotL) !(e (JSCommaTrailingList JSObjectPropertyL)) !(e JSAnnotL) 
i ~ JSExpressionL => JSUnaryExpression !(e JSUnaryOpL) !(e JSExpressionL) 
i ~ JSExpressionL => JSVarInitExpression !(e JSExpressionL) !(e JSVarInitializerL) 

Instances

Instances details
ShowHF JSExpression Source # 
Instance details

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

OrdHF JSExpression Source # 
Instance details

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

Methods

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

EqHF JSExpression Source # 
Instance details

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

Methods

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

HTraversable JSExpression Source # 
Instance details

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

Methods

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

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

HFoldable JSExpression Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSExpression Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

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

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

Instances

Instances details
KDynCase JSBlock JSBlockL Source # 
Instance details

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

Methods

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

KDynCase BlockWithPrelude JSBlockL Source # 
Instance details

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

Methods

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

(JSBlockIsJSAST :-<: fs, All HFunctor fs) => InjF fs JSBlockL JSASTL 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 JSASTL Source #

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

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

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

Constructors

i ~ JSBlockL => JSBlock !(e JSAnnotL) !(e [JSStatementL]) !(e JSAnnotL) 

Instances

Instances details
ShowHF JSBlock Source # 
Instance details

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

OrdHF JSBlock Source # 
Instance details

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

Methods

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

EqHF JSBlock Source # 
Instance details

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

Methods

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

HTraversable JSBlock Source # 
Instance details

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

Methods

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

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

HFoldable JSBlock Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSBlock Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSBinOp JSBinOpL Source # 
Instance details

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

Methods

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

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

Instances

Instances details
ShowHF JSBinOp Source # 
Instance details

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

OrdHF JSBinOp Source # 
Instance details

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

Methods

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

EqHF JSBinOp Source # 
Instance details

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

Methods

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

HTraversable JSBinOp Source # 
Instance details

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

Methods

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

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

HFoldable JSBinOp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSBinOp Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSAssignOp JSAssignOpL Source # 
Instance details

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

Methods

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

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

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

Instances

Instances details
ShowHF JSAssignOp Source # 
Instance details

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

OrdHF JSAssignOp Source # 
Instance details

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

Methods

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

EqHF JSAssignOp Source # 
Instance details

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

Methods

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

HTraversable JSAssignOp Source # 
Instance details

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

Methods

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

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

HFoldable JSAssignOp Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSAssignOp Source # 
Instance details

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

Methods

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

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

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

Methods

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

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

Instances

Instances details
KDynCase JSArrayElement JSArrayElementL Source # 
Instance details

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

Methods

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

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

Instances

Instances details
ShowHF JSArrayElement Source # 
Instance details

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

OrdHF JSArrayElement Source # 
Instance details

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

Methods

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

EqHF JSArrayElement Source # 
Instance details

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

Methods

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

HTraversable JSArrayElement Source # 
Instance details

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

Methods

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

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

HFoldable JSArrayElement Source # 
Instance details

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

Methods

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

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

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

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

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

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

HFunctor JSArrayElement Source # 
Instance details

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

Methods

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

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

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

Methods

kdyncase :: forall (e :: Type -> Type) b. JSArrayElement e b -> Maybe (b :~: JSArrayElementL) #

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 JSAnnotL Source #

Instances

Instances details
KDynCase JSAnnot JSAnnotL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAnnot e b -> Maybe (b :~: JSAnnotL) #

data JSAnnot (e :: Type -> Type) i Source #

Constructors

i ~ JSAnnotL => JSAnnot !(e TokenPosnL) !(e [CommentAnnotationL]) 
i ~ JSAnnotL => JSAnnotSpace 
i ~ JSAnnotL => JSNoAnnot 

Instances

Instances details
ShowHF JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

OrdHF JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => JSAnnot a i -> JSAnnot a j -> Ordering #

EqHF JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => JSAnnot g i -> JSAnnot g j -> Bool #

HTraversable JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (JSAnnot a) (JSAnnot b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (JSAnnot a) (JSAnnot b) #

HFoldable JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfold :: Monoid m => JSAnnot (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> JSAnnot a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> JSAnnot a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> JSAnnot a :=> b #

hfoldr1 :: (a -> a -> a) -> JSAnnot (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> JSAnnot (K a) :=> a #

HFunctor JSAnnot Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> JSAnnot f :-> JSAnnot g #

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 JSAnnot JSAnnotL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAnnot e b -> Maybe (b :~: JSAnnotL) #

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 JSAccessorL Source #

Instances

Instances details
KDynCase JSAccessor JSAccessorL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAccessor e b -> Maybe (b :~: JSAccessorL) #

data JSAccessor (e :: Type -> Type) i Source #

Constructors

i ~ JSAccessorL => JSAccessorGet !(e JSAnnotL) 
i ~ JSAccessorL => JSAccessorSet !(e JSAnnotL) 

Instances

Instances details
ShowHF JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

OrdHF JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => JSAccessor a i -> JSAccessor a j -> Ordering #

EqHF JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => JSAccessor g i -> JSAccessor g j -> Bool #

HTraversable JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (JSAccessor a) (JSAccessor b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (JSAccessor a) (JSAccessor b) #

HFoldable JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfold :: Monoid m => JSAccessor (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> JSAccessor a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> JSAccessor a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> JSAccessor a :=> b #

hfoldr1 :: (a -> a -> a) -> JSAccessor (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> JSAccessor (K a) :=> a #

HFunctor JSAccessor Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> JSAccessor f :-> JSAccessor g #

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 JSAccessor JSAccessorL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAccessor e b -> Maybe (b :~: JSAccessorL) #

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 JSASTL Source #

Instances

Instances details
KDynCase JSAST JSASTL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAST e b -> Maybe (b :~: JSASTL) #

KDynCase JSBlockIsJSAST JSASTL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Common.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSBlockIsJSAST e b -> Maybe (b :~: JSASTL) #

(JSBlockIsJSAST :-<: fs, All HFunctor fs) => InjF fs JSBlockL JSASTL 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 JSASTL Source #

projF' :: forall h p (a :: Type -> Type). Cxt h (Sum fs :&: p) a JSASTL -> Maybe (Cxt h (Sum fs :&: p) a JSBlockL) Source #

projF :: forall h (a :: Type -> Type). CxtS h fs a JSASTL -> Maybe (CxtS h fs a JSBlockL) Source #

data JSAST (e :: Type -> Type) i Source #

Instances

Instances details
ShowHF JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

OrdHF JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

compareHF :: forall (a :: Type -> Type) i j. KOrd a => JSAST a i -> JSAST a j -> Ordering #

EqHF JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

eqHF :: forall (g :: Type -> Type) i j. KEq g => JSAST g i -> JSAST g j -> Bool #

HTraversable JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hmapM :: forall (m :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Monad m => NatM m a b -> NatM m (JSAST a) (JSAST b) #

htraverse :: forall (f :: Type -> Type) (a :: Type -> Type) (b :: Type -> Type). Applicative f => NatM f a b -> NatM f (JSAST a) (JSAST b) #

HFoldable JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfold :: Monoid m => JSAST (K m) :=> m #

hfoldMap :: forall m (a :: Type -> Type). Monoid m => (a :=> m) -> JSAST a :=> m #

hfoldr :: forall (a :: Type -> Type) b. (a :=> (b -> b)) -> b -> JSAST a :=> b #

hfoldl :: forall b (a :: Type -> Type). (b -> a :=> b) -> b -> JSAST a :=> b #

hfoldr1 :: (a -> a -> a) -> JSAST (K a) :=> a #

hfoldl1 :: (a -> a -> a) -> JSAST (K a) :=> a #

HFunctor JSAST Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> JSAST f :-> JSAST g #

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 JSAST JSASTL Source # 
Instance details

Defined in Cubix.Language.JavaScript.Parametric.Full.Types

Methods

kdyncase :: forall (e :: Type -> Type) b. JSAST e b -> Maybe (b :~: JSASTL) #

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

riJSLCons :: JSCommaListF :<: f => Cxt h f a (JSCommaList l) -> Cxt h f a JSAnnotL -> Cxt h f a l -> Cxt h f a (JSCommaList l) Source #

riJSLOne :: JSCommaListF :<: f => Cxt h f a l -> Cxt h f a (JSCommaList l) Source #

iJSAstProgram :: forall h fs a j. ((:-<:) JSAST fs, InjF fs JSASTL j) => CxtS h fs a [JSStatementL] -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAstStatement :: forall h fs a j. ((:-<:) JSAST fs, InjF fs JSASTL j) => CxtS h fs a JSStatementL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAstExpression :: forall h fs a j. ((:-<:) JSAST fs, InjF fs JSASTL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAstLiteral :: forall h fs a j. ((:-<:) JSAST fs, InjF fs JSASTL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAccessorGet :: forall h fs a j. ((:-<:) JSAccessor fs, InjF fs JSAccessorL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAccessorSet :: forall h fs a j. ((:-<:) JSAccessor fs, InjF fs JSAccessorL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAnnot :: forall h fs a j. ((:-<:) JSAnnot fs, InjF fs JSAnnotL j) => CxtS h fs a TokenPosnL -> CxtS h fs a [CommentAnnotationL] -> CxtS h fs a j Source #

iJSAnnotSpace :: forall h fs a j. ((:-<:) JSAnnot fs, InjF fs JSAnnotL j) => CxtS h fs a j Source #

iJSNoAnnot :: forall h fs a j. ((:-<:) JSAnnot fs, InjF fs JSAnnotL j) => CxtS h fs a j Source #

iJSArrayElement :: forall h fs a j. ((:-<:) JSArrayElement fs, InjF fs JSArrayElementL j) => CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSArrayComma :: forall h fs a j. ((:-<:) JSArrayElement fs, InjF fs JSArrayElementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSTimesAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSDivideAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSModAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSPlusAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSMinusAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSLshAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSRshAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUrshAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBwAndAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBwXorAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBwOrAssign :: forall h fs a j. ((:-<:) JSAssignOp fs, InjF fs JSAssignOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpAnd :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpBitAnd :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpBitOr :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpBitXor :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpDivide :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpEq :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpGe :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpGt :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpIn :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpInstanceOf :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpLe :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpLsh :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpLt :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpMinus :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpMod :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpNeq :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpOr :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpPlus :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpRsh :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpStrictEq :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpStrictNeq :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpTimes :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBinOpUrsh :: forall h fs a j. ((:-<:) JSBinOp fs, InjF fs JSBinOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSBlock :: forall h fs a j. ((:-<:) JSBlock fs, InjF fs JSBlockL j) => CxtS h fs a JSAnnotL -> CxtS h fs a [JSStatementL] -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSIdentifier :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSDecimal :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSLiteral :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSHexInteger :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSOctal :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSStringLiteral :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSRegEx :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSArrayLiteral :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a [JSArrayElementL] -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSAssignExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAssignOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSCallExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSCallExpressionDot :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSCallExpressionSquare :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSCommaExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSExpressionBinary :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSBinOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSExpressionParen :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSExpressionPostfix :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSUnaryOpL -> CxtS h fs a j Source #

iJSExpressionTernary :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSFunctionExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSIdentL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSIdentL) -> CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSMemberDot :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSMemberExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSMemberNew :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSMemberSquare :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSNewExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSObjectLiteral :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaTrailingList JSObjectPropertyL) -> CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSUnaryOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a j Source #

iJSVarInitExpression :: forall h fs a j. ((:-<:) JSExpression fs, InjF fs JSExpressionL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSVarInitializerL -> CxtS h fs a j Source #

iJSPropertyAccessor :: forall h fs a j. ((:-<:) JSObjectProperty fs, InjF fs JSObjectPropertyL j) => CxtS h fs a JSAccessorL -> CxtS h fs a JSPropertyNameL -> CxtS h fs a JSAnnotL -> CxtS h fs a [JSExpressionL] -> CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSPropertyNameandValue :: forall h fs a j. ((:-<:) JSObjectProperty fs, InjF fs JSObjectPropertyL j) => CxtS h fs a JSPropertyNameL -> CxtS h fs a JSAnnotL -> CxtS h fs a [JSExpressionL] -> CxtS h fs a j Source #

iJSPropertyIdent :: forall h fs a j. ((:-<:) JSPropertyName fs, InjF fs JSPropertyNameL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSPropertyString :: forall h fs a j. ((:-<:) JSPropertyName fs, InjF fs JSPropertyNameL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSPropertyNumber :: forall h fs a j. ((:-<:) JSPropertyName fs, InjF fs JSPropertyNameL j) => CxtS h fs a JSAnnotL -> String -> CxtS h fs a j Source #

iJSSemi :: forall h fs a j. ((:-<:) JSSemi fs, InjF fs JSSemiL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSSemiAuto :: forall h fs a j. ((:-<:) JSSemi fs, InjF fs JSSemiL j) => CxtS h fs a j Source #

iJSStatementBlock :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a [JSStatementL] -> CxtS h fs a JSAnnotL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSBreak :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSIdentL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSConstant :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSContinue :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSIdentL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSDoWhile :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSFunction :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSIdentL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSIdentL) -> CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSIf :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSIfElse :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSLabelled :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSIdentL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSEmptyStatement :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSExpressionStatement :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSAssignStatement :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAssignOpL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSMethodCall :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSAnnotL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSReturn :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a (Maybe JSExpressionL) -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSSwitch :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a [JSSwitchPartsL] -> CxtS h fs a JSAnnotL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSThrow :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSTry :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a [JSTryCatchL] -> CxtS h fs a JSTryFinallyL -> CxtS h fs a j Source #

iJSVariable :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a (JSCommaList JSExpressionL) -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSWhile :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a j Source #

iJSWith :: forall h fs a j. ((:-<:) JSStatement fs, InjF fs JSStatementL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSStatementL -> CxtS h fs a JSSemiL -> CxtS h fs a j Source #

iJSCase :: forall h fs a j. ((:-<:) JSSwitchParts fs, InjF fs JSSwitchPartsL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a [JSStatementL] -> CxtS h fs a j Source #

iJSDefault :: forall h fs a j. ((:-<:) JSSwitchParts fs, InjF fs JSSwitchPartsL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a [JSStatementL] -> CxtS h fs a j Source #

iJSCatch :: forall h fs a j. ((:-<:) JSTryCatch fs, InjF fs JSTryCatchL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSCatchIf :: forall h fs a j. ((:-<:) JSTryCatch fs, InjF fs JSTryCatchL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSExpressionL -> CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSFinally :: forall h fs a j. ((:-<:) JSTryFinally fs, InjF fs JSTryFinallyL j) => CxtS h fs a JSAnnotL -> CxtS h fs a JSBlockL -> CxtS h fs a j Source #

iJSNoFinally :: forall h fs a j. ((:-<:) JSTryFinally fs, InjF fs JSTryFinallyL j) => CxtS h fs a j Source #

iJSUnaryOpDecr :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpDelete :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpIncr :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpMinus :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpNot :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpPlus :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpTilde :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpTypeof :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iJSUnaryOpVoid :: forall h fs a j. ((:-<:) JSUnaryOp fs, InjF fs JSUnaryOpL j) => CxtS h fs a JSAnnotL -> CxtS h fs a j Source #

iTokenPn :: forall h fs a j. ((:-<:) TokenPosn fs, InjF fs TokenPosnL j) => Int -> Int -> Int -> CxtS h fs a j Source #

iCommentA :: forall h fs a j. ((:-<:) CommentAnnotation fs, InjF fs CommentAnnotationL j) => CxtS h fs a TokenPosnL -> String -> CxtS h fs a j Source #

iWhiteSpace :: forall h fs a j. ((:-<:) CommentAnnotation fs, InjF fs CommentAnnotationL j) => CxtS h fs a TokenPosnL -> String -> CxtS h fs a j Source #

iNoComment :: forall h fs a j. ((:-<:) CommentAnnotation fs, InjF fs CommentAnnotationL j) => CxtS h fs a j 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 #