| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
LambdaCube.STLC.Ast
Documentation
Constructors
| ExtLCVar Text | |
| ExtLCLam Text ExtLCType ExtLCTerm | |
| ExtLCApp ExtLCTerm ExtLCTerm infixl 6 | |
| ExtLCMVar String |
Instances
| Eq ExtLCTerm Source # | |
| Data ExtLCTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExtLCTerm -> c ExtLCTerm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExtLCTerm # toConstr :: ExtLCTerm -> Constr # dataTypeOf :: ExtLCTerm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExtLCTerm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExtLCTerm) # gmapT :: (forall b. Data b => b -> b) -> ExtLCTerm -> ExtLCTerm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExtLCTerm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExtLCTerm -> r # gmapQ :: (forall d. Data d => d -> u) -> ExtLCTerm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtLCTerm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExtLCTerm -> m ExtLCTerm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLCTerm -> m ExtLCTerm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLCTerm -> m ExtLCTerm # | |
| Show ExtLCTerm Source # | |
| Lift ExtLCTerm Source # | |
Instances
| Eq ExtLCType Source # | |
| Data ExtLCType Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExtLCType -> c ExtLCType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExtLCType # toConstr :: ExtLCType -> Constr # dataTypeOf :: ExtLCType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExtLCType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExtLCType) # gmapT :: (forall b. Data b => b -> b) -> ExtLCType -> ExtLCType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExtLCType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExtLCType -> r # gmapQ :: (forall d. Data d => d -> u) -> ExtLCType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtLCType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExtLCType -> m ExtLCType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLCType -> m ExtLCType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtLCType -> m ExtLCType # | |
| Show ExtLCType Source # | |
| Lift ExtLCType Source # | |
Instances
| Eq LCTerm Source # | |
| Data LCTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LCTerm -> c LCTerm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LCTerm # toConstr :: LCTerm -> Constr # dataTypeOf :: LCTerm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LCTerm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LCTerm) # gmapT :: (forall b. Data b => b -> b) -> LCTerm -> LCTerm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LCTerm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LCTerm -> r # gmapQ :: (forall d. Data d => d -> u) -> LCTerm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LCTerm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LCTerm -> m LCTerm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LCTerm -> m LCTerm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LCTerm -> m LCTerm # | |
| Show LCTerm Source # | |
| Lift LCTerm Source # | |
Instances
| Eq LCType Source # | |
| Data LCType Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LCType -> c LCType # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LCType # toConstr :: LCType -> Constr # dataTypeOf :: LCType -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LCType) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LCType) # gmapT :: (forall b. Data b => b -> b) -> LCType -> LCType # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LCType -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LCType -> r # gmapQ :: (forall d. Data d => d -> u) -> LCType -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LCType -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LCType -> m LCType # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LCType -> m LCType # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LCType -> m LCType # | |
| Show LCType Source # | |
| Lift LCType Source # | |
Instances
| Eq LCValue Source # | |
| Data LCValue Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LCValue -> c LCValue # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LCValue # toConstr :: LCValue -> Constr # dataTypeOf :: LCValue -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LCValue) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LCValue) # gmapT :: (forall b. Data b => b -> b) -> LCValue -> LCValue # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LCValue -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LCValue -> r # gmapQ :: (forall d. Data d => d -> u) -> LCValue -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LCValue -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LCValue -> m LCValue # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LCValue -> m LCValue # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LCValue -> m LCValue # | |
| Show LCValue Source # | |
| Lift LCValue Source # | |
data LCNormalTerm Source #
Constructors
| LCNormLam LCType LCNormalTerm | |
| LCNormNeut LCNeutralTerm |
Instances
| Eq LCNormalTerm Source # | |
Defined in LambdaCube.STLC.Ast | |
| Data LCNormalTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LCNormalTerm -> c LCNormalTerm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LCNormalTerm # toConstr :: LCNormalTerm -> Constr # dataTypeOf :: LCNormalTerm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LCNormalTerm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LCNormalTerm) # gmapT :: (forall b. Data b => b -> b) -> LCNormalTerm -> LCNormalTerm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LCNormalTerm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LCNormalTerm -> r # gmapQ :: (forall d. Data d => d -> u) -> LCNormalTerm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LCNormalTerm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LCNormalTerm -> m LCNormalTerm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LCNormalTerm -> m LCNormalTerm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LCNormalTerm -> m LCNormalTerm # | |
| Show LCNormalTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods showsPrec :: Int -> LCNormalTerm -> ShowS # show :: LCNormalTerm -> String # showList :: [LCNormalTerm] -> ShowS # | |
| Lift LCNormalTerm Source # | |
Defined in LambdaCube.STLC.Ast | |
data LCNeutralTerm Source #
Constructors
| LCNeutVar Int | |
| LCNeutApp LCNeutralTerm LCNormalTerm infixl 6 |
Instances
| Eq LCNeutralTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods (==) :: LCNeutralTerm -> LCNeutralTerm -> Bool # (/=) :: LCNeutralTerm -> LCNeutralTerm -> Bool # | |
| Data LCNeutralTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LCNeutralTerm -> c LCNeutralTerm # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LCNeutralTerm # toConstr :: LCNeutralTerm -> Constr # dataTypeOf :: LCNeutralTerm -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LCNeutralTerm) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LCNeutralTerm) # gmapT :: (forall b. Data b => b -> b) -> LCNeutralTerm -> LCNeutralTerm # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LCNeutralTerm -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LCNeutralTerm -> r # gmapQ :: (forall d. Data d => d -> u) -> LCNeutralTerm -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LCNeutralTerm -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LCNeutralTerm -> m LCNeutralTerm # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LCNeutralTerm -> m LCNeutralTerm # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LCNeutralTerm -> m LCNeutralTerm # | |
| Show LCNeutralTerm Source # | |
Defined in LambdaCube.STLC.Ast Methods showsPrec :: Int -> LCNeutralTerm -> ShowS # show :: LCNeutralTerm -> String # showList :: [LCNeutralTerm] -> ShowS # | |
| Lift LCNeutralTerm Source # | |
Defined in LambdaCube.STLC.Ast | |