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 |
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 #
RSboolean | |
RSbinary | |
RSdate | |
RSdatetime | |
RSdecimal | |
RSfloat | |
RSinteger | |
RSstring | |
RStext | |
RStime | |
RStimestamp | |
RSdouble | |
RSnonPosInteger | |
RSnonNegInteger | |
RSlong | |
RSPointer |
Instances
Eq RSDatatype Source # | |
Defined in RelationalScheme.Sign (==) :: RSDatatype -> RSDatatype -> Bool (/=) :: RSDatatype -> RSDatatype -> Bool | |
Data RSDatatype Source # | |
Defined in RelationalScheme.Sign 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 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 showsPrec :: Int -> RSDatatype -> ShowS show :: RSDatatype -> String showList :: [RSDatatype] -> ShowS | |
Generic RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSDatatype :: Type -> Type from :: RSDatatype -> Rep RSDatatype x to :: Rep RSDatatype x -> RSDatatype | |
FromJSON RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme parseJSON :: Value -> Parser RSDatatype parseJSONList :: Value -> Parser [RSDatatype] | |
ToJSON RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme toJSON :: RSDatatype -> Value toEncoding :: RSDatatype -> Encoding toJSONList :: [RSDatatype] -> Value toEncodingList :: [RSDatatype] -> Encoding | |
ShATermConvertible RSDatatype | |
Defined in RelationalScheme.ATC_RelationalScheme 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 pretty :: RSDatatype -> Doc Source # pretties :: [RSDatatype] -> Doc Source # | |
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 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 # | |
Show RSColumn Source # | |
Generic RSColumn | |
FromJSON RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme parseJSON :: Value -> Parser RSColumn parseJSONList :: Value -> Parser [RSColumn] | |
ToJSON RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme toEncoding :: RSColumn -> Encoding toJSONList :: [RSColumn] -> Value toEncodingList :: [RSColumn] -> Encoding | |
ShATermConvertible RSColumn | |
Defined in RelationalScheme.ATC_RelationalScheme 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)))) |
RSTable | |
|
Instances
Eq RSTable Source # | |
Data RSTable Source # | |
Defined in RelationalScheme.Sign 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 parseJSON :: Value -> Parser RSTable parseJSONList :: Value -> Parser [RSTable] | |
ToJSON RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme toEncoding :: RSTable -> Encoding toJSONList :: [RSTable] -> Value toEncodingList :: [RSTable] -> Encoding | |
ShATermConvertible RSTable | |
Defined in RelationalScheme.ATC_RelationalScheme 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 #
Instances
Instances
Eq RSTMap Source # | |
Data RSTMap Source # | |
Defined in RelationalScheme.Sign 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 parseJSON :: Value -> Parser RSTMap parseJSONList :: Value -> Parser [RSTMap] | |
ToJSON RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme toEncoding :: RSTMap -> Encoding toJSONList :: [RSTMap] -> Value toEncodingList :: [RSTMap] -> Encoding | |
ShATermConvertible RSTMap | |
Defined in RelationalScheme.ATC_RelationalScheme 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 (==) :: RSSymbolKind -> RSSymbolKind -> Bool (/=) :: RSSymbolKind -> RSSymbolKind -> Bool | |
Data RSSymbolKind Source # | |
Defined in RelationalScheme.Sign 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 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 showsPrec :: Int -> RSSymbolKind -> ShowS show :: RSSymbolKind -> String showList :: [RSSymbolKind] -> ShowS | |
Generic RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme type Rep RSSymbolKind :: Type -> Type from :: RSSymbolKind -> Rep RSSymbolKind x to :: Rep RSSymbolKind x -> RSSymbolKind | |
FromJSON RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme parseJSON :: Value -> Parser RSSymbolKind parseJSONList :: Value -> Parser [RSSymbolKind] | |
ToJSON RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme toJSON :: RSSymbolKind -> Value toEncoding :: RSSymbolKind -> Encoding toJSONList :: [RSSymbolKind] -> Value toEncodingList :: [RSSymbolKind] -> Encoding | |
ShATermConvertible RSSymbolKind | |
Defined in RelationalScheme.ATC_RelationalScheme 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 pretty :: RSSymbolKind -> Doc Source # pretties :: [RSSymbolKind] -> Doc Source # | |
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 #