unison-codebase-0.0.0
Safe HaskellSafe-Inferred
LanguageGHC2021

U.Codebase.Type

Synopsis

Documentation

type FT = F' Reference Source #

For standalone types, like those in Term.Ann

type FD = F' (Reference' Text (Maybe Hash)) Source #

For potentially recursive types, like those in DataDeclaration

data F' r a Source #

Constructors

Ref r 
Arrow a a 
Ann a Kind 
App a a 
Effect a a 
Effects [a] 
Forall a 
IntroOuter a 

Instances

Instances details
Foldable (F' r) Source # 
Instance details

Defined in U.Codebase.Type

Methods

fold :: Monoid m => F' r m -> m #

foldMap :: Monoid m => (a -> m) -> F' r a -> m #

foldMap' :: Monoid m => (a -> m) -> F' r a -> m #

foldr :: (a -> b -> b) -> b -> F' r a -> b #

foldr' :: (a -> b -> b) -> b -> F' r a -> b #

foldl :: (b -> a -> b) -> b -> F' r a -> b #

foldl' :: (b -> a -> b) -> b -> F' r a -> b #

foldr1 :: (a -> a -> a) -> F' r a -> a #

foldl1 :: (a -> a -> a) -> F' r a -> a #

toList :: F' r a -> [a] #

null :: F' r a -> Bool #

length :: F' r a -> Int #

elem :: Eq a => a -> F' r a -> Bool #

maximum :: Ord a => F' r a -> a #

minimum :: Ord a => F' r a -> a #

sum :: Num a => F' r a -> a #

product :: Num a => F' r a -> a #

Traversable (F' r) Source # 
Instance details

Defined in U.Codebase.Type

Methods

traverse :: Applicative f => (a -> f b) -> F' r a -> f (F' r b) #

sequenceA :: Applicative f => F' r (f a) -> f (F' r a) #

mapM :: Monad m => (a -> m b) -> F' r a -> m (F' r b) #

sequence :: Monad m => F' r (m a) -> m (F' r a) #

Functor (F' r) Source # 
Instance details

Defined in U.Codebase.Type

Methods

fmap :: (a -> b) -> F' r a -> F' r b #

(<$) :: a -> F' r b -> F' r a #

(Show r, Show a) => Show (F' r a) Source # 
Instance details

Defined in U.Codebase.Type

Methods

showsPrec :: Int -> F' r a -> ShowS #

show :: F' r a -> String #

showList :: [F' r a] -> ShowS #

(Eq r, Eq a) => Eq (F' r a) Source # 
Instance details

Defined in U.Codebase.Type

Methods

(==) :: F' r a -> F' r a -> Bool #

(/=) :: F' r a -> F' r a -> Bool #

(Ord r, Ord a) => Ord (F' r a) Source # 
Instance details

Defined in U.Codebase.Type

Methods

compare :: F' r a -> F' r a -> Ordering #

(<) :: F' r a -> F' r a -> Bool #

(<=) :: F' r a -> F' r a -> Bool #

(>) :: F' r a -> F' r a -> Bool #

(>=) :: F' r a -> F' r a -> Bool #

max :: F' r a -> F' r a -> F' r a #

min :: F' r a -> F' r a -> F' r a #

type TypeT v = Term FT v () Source #

Non-recursive type

type TypeD v = Term FD v () Source #

Potentially-recursive type

type TypeR r v = Term (F' r) v () Source #

rmap :: Ord v => (r -> r') -> Term (F' r) v a -> Term (F' r') v a Source #

rmapM :: (Ord v, Monad f) => (r -> f r') -> Term (F' r) v a -> f (Term (F' r') v a) Source #

typeD2T :: Ord v => Hash -> TypeD v -> TypeT v Source #

dependencies :: (Ord v, Ord r) => Term (F' r) v a -> Set r Source #