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 |
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 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 parseJSON :: Value -> Parser Constrain parseJSONList :: Value -> Parser [Constrain] | |
ToJSON Constrain | |
Defined in HasCASL.ATC_HasCASL toEncoding :: Constrain -> Encoding toJSONList :: [Constrain] -> Value toEncodingList :: [Constrain] -> Encoding | |
ShATermConvertible Constrain | |
Defined in HasCASL.ATC_HasCASL 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 #