| Copyright | (c) Christian Maeder and Uni Bremen 2003-2005 |
|---|---|
| License | GPLv2 or higher, see LICENSE.txt |
| Maintainer | Christian.Maeder@dfki.de |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | None |
HasCASL.Constrain
Contents
Description
constraint resolution
Synopsis
- type Constraints = Set Constrain
- data Constrain
- noC :: Constraints
- substC :: Subst -> Constraints -> Constraints
- joinC :: Constraints -> Constraints -> Constraints
- insertC :: Constrain -> Constraints -> Constraints
- partitionC :: Constraints -> (Constraints, Constraints)
- toListC :: Constraints -> [(Type, Type)]
- shapeRelAndSimplify :: Bool -> Env -> Constraints -> Maybe Type -> State Int (Result (Subst, Constraints))
- fromTypeMap :: TypeMap -> Rel Type
Documentation
type Constraints = Set Constrain Source #
Instances
| Eq Constrain Source # | |
| Data Constrain Source # | |
Defined in HasCASL.Le Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Constrain -> c Constrain gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Constrain toConstr :: Constrain -> Constr dataTypeOf :: Constrain -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Constrain) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Constrain) gmapT :: (forall b. Data b => b -> b) -> Constrain -> Constrain gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Constrain -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Constrain -> r gmapQ :: (forall d. Data d => d -> u) -> Constrain -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Constrain -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Constrain -> m Constrain gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Constrain -> m Constrain gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Constrain -> m Constrain | |
| Ord Constrain Source # | |
Defined in HasCASL.Le | |
| Show Constrain Source # | |
| Generic Constrain | |
| GetRange Constrain Source # | |
| FromJSON Constrain | |
Defined in HasCASL.ATC_HasCASL | |
| ToJSON Constrain | |
Defined in HasCASL.ATC_HasCASL Methods toEncoding :: Constrain -> Encoding toJSONList :: [Constrain] -> Value toEncodingList :: [Constrain] -> Encoding | |
| ShATermConvertible Constrain | |
Defined in HasCASL.ATC_HasCASL Methods toShATermAux :: ATermTable -> Constrain -> IO (ATermTable, Int) toShATermList' :: ATermTable -> [Constrain] -> IO (ATermTable, Int) fromShATermAux :: Int -> ATermTable -> (ATermTable, Constrain) fromShATermList' :: Int -> ATermTable -> (ATermTable, [Constrain]) | |
| Pretty Constrain Source # | |
| type Rep Constrain | |
Defined in HasCASL.ATC_HasCASL type Rep Constrain = D1 ('MetaData "Constrain" "HasCASL.Le" "main" 'False) (C1 ('MetaCons "Kinding" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Kind)) :+: C1 ('MetaCons "Subtyping" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type))) | |
noC :: Constraints Source #
substC :: Subst -> Constraints -> Constraints Source #
joinC :: Constraints -> Constraints -> Constraints Source #
insertC :: Constrain -> Constraints -> Constraints Source #
partitionC :: Constraints -> (Constraints, Constraints) Source #
partition into qualification and subtyping constraints
shapeRelAndSimplify :: Bool -> Env -> Constraints -> Maybe Type -> State Int (Result (Subst, Constraints)) Source #