| Copyright | Dominik Luecke Uni Bremen 2008 |
|---|---|
| License | GPLv2 or higher, see LICENSE.txt or LIZENZ.txt |
| Maintainer | luecke@informatik.uni-bremen.de |
| Stability | provisional |
| Portability | portable |
| Safe Haskell | None |
RelationalScheme.Sign
Description
Signature for Relational Schemes
Synopsis
- type RSIsKey = Bool
- data RSDatatype
- type RSRawSymbol = Id
- data RSColumn = RSColumn {}
- data RSTable = RSTable {
- t_name :: Id
- columns :: [RSColumn]
- rsannos :: [Annotation]
- t_keys :: Set (Id, RSDatatype)
- data RSTables = RSTables {}
- type Sign = RSTables
- data RSMorphism = RSMorphism {}
- data RSTMap = RSTMap {}
- emptyRSSign :: RSTables
- isRSSubsig :: RSTables -> RSTables -> Bool
- idMor :: RSTables -> RSMorphism
- rsInclusion :: RSTables -> RSTables -> Result RSMorphism
- uniteSig :: MonadFail m => RSTables -> RSTables -> m RSTables
- comp_rst_mor :: RSMorphism -> RSMorphism -> Result RSMorphism
- data RSSymbol
- data RSSymbolKind
- sym_kind :: RSSymbol -> RSSymbolKind
Documentation
data RSDatatype Source #
Constructors
| RSboolean | |
| RSbinary | |
| RSdate | |
| RSdatetime | |
| RSdecimal | |
| RSfloat | |
| RSinteger | |
| RSstring | |
| RStext | |
| RStime | |
| RStimestamp | |
| RSdouble | |
| RSnonPosInteger | |
| RSnonNegInteger | |
| RSlong | |
| RSPointer |
Instances
| Eq RSDatatype Source # | |
Defined in RelationalScheme.Sign | |
| Data RSDatatype Source # | |
Defined in RelationalScheme.Sign Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RSDatatype -> c RSDatatype gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RSDatatype toConstr :: RSDatatype -> Constr dataTypeOf :: RSDatatype -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RSDatatype) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RSDatatype) gmapT :: (forall b. Data b => b -> b) -> RSDatatype -> RSDatatype gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RSDatatype -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RSDatatype -> r gmapQ :: (forall d. Data d => d -> u) -> RSDatatype -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RSDatatype -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RSDatatype -> m RSDatatype gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RSDatatype -> m RSDatatype gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RSDatatype -> m RSDatatype | |
| Ord RSDatatype Source # | |
Defined in RelationalScheme.Sign Methods compare :: RSDatatype -> RSDatatype -> Ordering (<) :: RSDatatype -> RSDatatype -> Bool (<=) :: RSDatatype -> RSDatatype -> Bool (>) :: RSDatatype -> RSDatatype -> Bool (>=) :: RSDatatype -> RSDatatype -> Bool max :: RSDatatype -> RSDatatype -> RSDatatype min :: RSDatatype -> RSDatatype -> RSDatatype | |
| Show RSDatatype Source # | |
Defined in RelationalScheme.Sign Methods showsPrec :: Int -> RSDatatype -> ShowS show :: RSDatatype -> String showList :: [RSDatatype] -> ShowS | |
| Generic RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme Associated Types type Rep RSDatatype :: Type -> Type | |
| FromJSON RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme | |
| ToJSON RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toJSON :: RSDatatype -> Value toEncoding :: RSDatatype -> Encoding toJSONList :: [RSDatatype] -> Value toEncodingList :: [RSDatatype] -> Encoding | |
| ShATermConvertible RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toShATermAux :: ATermTable -> RSDatatype -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [RSDatatype] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, RSDatatype) fromShATermList' :: Int -> ATermTable -> (ATermTable, [RSDatatype]) | |
| Pretty RSDatatype Source # | |
Defined in RelationalScheme.Sign | |
| type Rep RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSDatatype = D1 ('MetaData "RSDatatype" "RelationalScheme.Sign" "main" 'False) ((((C1 ('MetaCons "RSboolean" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSbinary" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RSdate" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSdatetime" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RSdecimal" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSfloat" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RSinteger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSstring" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: (((C1 ('MetaCons "RStext" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RStime" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RStimestamp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSdouble" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "RSnonPosInteger" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSnonNegInteger" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RSlong" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RSPointer" 'PrefixI 'False) (U1 :: Type -> Type))))) | |
type RSRawSymbol = Id Source #
Instances
| Eq RSColumn Source # | |
| Data RSColumn Source # | |
Defined in RelationalScheme.Sign Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RSColumn -> c RSColumn gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RSColumn toConstr :: RSColumn -> Constr dataTypeOf :: RSColumn -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RSColumn) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RSColumn) gmapT :: (forall b. Data b => b -> b) -> RSColumn -> RSColumn gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RSColumn -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RSColumn -> r gmapQ :: (forall d. Data d => d -> u) -> RSColumn -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RSColumn -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RSColumn -> m RSColumn gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RSColumn -> m RSColumn gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RSColumn -> m RSColumn | |
| Ord RSColumn Source # | |
Defined in RelationalScheme.Sign | |
| Show RSColumn Source # | |
| Generic RSColumn | |
| FromJSON RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme | |
| ToJSON RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toEncoding :: RSColumn -> Encoding toJSONList :: [RSColumn] -> Value toEncodingList :: [RSColumn] -> Encoding | |
| ShATermConvertible RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toShATermAux :: ATermTable -> RSColumn -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [RSColumn] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, RSColumn) fromShATermList' :: Int -> ATermTable -> (ATermTable, [RSColumn]) | |
| Pretty RSColumn Source # | |
| type Rep RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSColumn = D1 ('MetaData "RSColumn" "RelationalScheme.Sign" "main" 'False) (C1 ('MetaCons "RSColumn" 'PrefixI 'True) (S1 ('MetaSel ('Just "c_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id) :*: (S1 ('MetaSel ('Just "c_data") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RSDatatype) :*: S1 ('MetaSel ('Just "c_key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 RSIsKey)))) | |
Constructors
| RSTable | |
Fields
| |
Instances
| Eq RSTable Source # | |
| Data RSTable Source # | |
Defined in RelationalScheme.Sign Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RSTable -> c RSTable gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RSTable dataTypeOf :: RSTable -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RSTable) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RSTable) gmapT :: (forall b. Data b => b -> b) -> RSTable -> RSTable gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RSTable -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RSTable -> r gmapQ :: (forall d. Data d => d -> u) -> RSTable -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RSTable -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RSTable -> m RSTable gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RSTable -> m RSTable gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RSTable -> m RSTable | |
| Ord RSTable Source # | |
| Show RSTable Source # | |
| Generic RSTable | |
| FromJSON RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme | |
| ToJSON RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toEncoding :: RSTable -> Encoding toJSONList :: [RSTable] -> Value toEncodingList :: [RSTable] -> Encoding | |
| ShATermConvertible RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toShATermAux :: ATermTable -> RSTable -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [RSTable] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, RSTable) fromShATermList' :: Int -> ATermTable -> (ATermTable, [RSTable]) | |
| Pretty RSTable Source # | |
| type Rep RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSTable = D1 ('MetaData "RSTable" "RelationalScheme.Sign" "main" 'False) (C1 ('MetaCons "RSTable" 'PrefixI 'True) ((S1 ('MetaSel ('Just "t_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id) :*: S1 ('MetaSel ('Just "columns") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [RSColumn])) :*: (S1 ('MetaSel ('Just "rsannos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Annotation]) :*: S1 ('MetaSel ('Just "t_keys") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set (Id, RSDatatype)))))) | |
Instances
data RSMorphism Source #
Constructors
| RSMorphism | |
Instances
Instances
| Eq RSTMap Source # | |
| Data RSTMap Source # | |
Defined in RelationalScheme.Sign Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RSTMap -> c RSTMap gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RSTMap dataTypeOf :: RSTMap -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RSTMap) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RSTMap) gmapT :: (forall b. Data b => b -> b) -> RSTMap -> RSTMap gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RSTMap -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RSTMap -> r gmapQ :: (forall d. Data d => d -> u) -> RSTMap -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RSTMap -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RSTMap -> m RSTMap gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RSTMap -> m RSTMap gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RSTMap -> m RSTMap | |
| Ord RSTMap Source # | |
| Show RSTMap Source # | |
| Generic RSTMap | |
| FromJSON RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme | |
| ToJSON RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toEncoding :: RSTMap -> Encoding toJSONList :: [RSTMap] -> Value toEncodingList :: [RSTMap] -> Encoding | |
| ShATermConvertible RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toShATermAux :: ATermTable -> RSTMap -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [RSTMap] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, RSTMap) fromShATermList' :: Int -> ATermTable -> (ATermTable, [RSTMap]) | |
| Pretty RSTMap Source # | |
| type Rep RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme | |
emptyRSSign :: RSTables Source #
id-morphism for RS
isRSSubsig :: RSTables -> RSTables -> Bool Source #
idMor :: RSTables -> RSMorphism Source #
rsInclusion :: RSTables -> RSTables -> Result RSMorphism Source #
comp_rst_mor :: RSMorphism -> RSMorphism -> Result RSMorphism Source #
Instances
data RSSymbolKind Source #
Instances
| Eq RSSymbolKind Source # | |
Defined in RelationalScheme.Sign | |
| Data RSSymbolKind Source # | |
Defined in RelationalScheme.Sign Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RSSymbolKind -> c RSSymbolKind gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RSSymbolKind toConstr :: RSSymbolKind -> Constr dataTypeOf :: RSSymbolKind -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RSSymbolKind) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RSSymbolKind) gmapT :: (forall b. Data b => b -> b) -> RSSymbolKind -> RSSymbolKind gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RSSymbolKind -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RSSymbolKind -> r gmapQ :: (forall d. Data d => d -> u) -> RSSymbolKind -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> RSSymbolKind -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> RSSymbolKind -> m RSSymbolKind gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RSSymbolKind -> m RSSymbolKind gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RSSymbolKind -> m RSSymbolKind | |
| Ord RSSymbolKind Source # | |
Defined in RelationalScheme.Sign Methods compare :: RSSymbolKind -> RSSymbolKind -> Ordering (<) :: RSSymbolKind -> RSSymbolKind -> Bool (<=) :: RSSymbolKind -> RSSymbolKind -> Bool (>) :: RSSymbolKind -> RSSymbolKind -> Bool (>=) :: RSSymbolKind -> RSSymbolKind -> Bool max :: RSSymbolKind -> RSSymbolKind -> RSSymbolKind min :: RSSymbolKind -> RSSymbolKind -> RSSymbolKind | |
| Show RSSymbolKind Source # | |
Defined in RelationalScheme.Sign Methods showsPrec :: Int -> RSSymbolKind -> ShowS show :: RSSymbolKind -> String showList :: [RSSymbolKind] -> ShowS | |
| Generic RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme Associated Types type Rep RSSymbolKind :: Type -> Type | |
| FromJSON RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme | |
| ToJSON RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toJSON :: RSSymbolKind -> Value toEncoding :: RSSymbolKind -> Encoding toJSONList :: [RSSymbolKind] -> Value toEncodingList :: [RSSymbolKind] -> Encoding | |
| ShATermConvertible RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme Methods toShATermAux :: ATermTable -> RSSymbolKind -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [RSSymbolKind] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, RSSymbolKind) fromShATermList' :: Int -> ATermTable -> (ATermTable, [RSSymbolKind]) | |
| Pretty RSSymbolKind Source # | |
Defined in RelationalScheme.Sign | |
| type Rep RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSSymbolKind = D1 ('MetaData "RSSymbolKind" "RelationalScheme.Sign" "main" 'False) (C1 ('MetaCons "STableK" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SColumnK" 'PrefixI 'False) (U1 :: Type -> Type)) | |
sym_kind :: RSSymbol -> RSSymbolKind Source #