Safe Haskell | None |
---|
Documentation
partitionOut :: (a -> Maybe b) -> [a] -> ([b], [a])Source
zipWithOrChange :: (a -> a -> b) -> (a -> b) -> [a] -> [a] -> [b]Source
zipWithOrIdM :: Monad m => (a -> a -> m a) -> [a] -> [a] -> m [a]Source
unionWithM :: (Monad m, Ord key) => (val -> val -> m val) -> Map key val -> Map key val -> m (Map key val)Source
intersectionWithM :: (Monad m, Ord key) => (val -> val -> m b) -> Map key val -> Map key val -> m (Map key b)Source
class JTypeCheck a whereSource
evalTMonad :: TMonad a -> Either String aSource
traversem_ :: (Foldable t, Monad f) => (a -> f b) -> t a -> f ()Source
prettyType :: JType -> TMonad [Char]Source
runTypecheckRaw :: JTypeCheck a => a -> (Either String JType, TCState)Source
runTypecheckFull :: JTypeCheck a => a -> (Either String ([Char], [Map Ident String]), TCState)Source
runTypecheck :: JTypeCheck a => a -> Either String [Char]Source
evalTypecheck :: JTypeCheck a => a -> Either String [Map Ident String]Source
typecheckMain :: JTypeCheck a => a -> TMonad JTypeSource
addToStack :: Ord a => a -> [Set a] -> [Set a]Source
mapConstraint :: (Monad m, Functor m) => (JType -> m JType) -> Constraint -> m ConstraintSource
partitionCs :: [Constraint] -> ([JType], [JType])Source
checkConstraints :: JType -> [Constraint] -> TMonad ()Source
addConstraint :: VarRef -> Constraint -> TMonad ()Source
frame2VarRefs :: Set t -> [(Maybe a, t)]Source
newVarDecl :: Ident -> TMonad JTypeSource
resolveType :: JType -> TMonad JTypeSource
someUpperBound :: [JType] -> TMonad JTypeSource
someLowerBound :: [JType] -> TMonad JTypeSource
typecheckWithBlock :: (JsToDoc a, JMacro a, JTypeCheck a) => a -> TMonad JTypeSource