unison-codebase-0.0.0
Safe HaskellNone
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 RecordTail a Source #

The "tail" of a record type: whether the record may have fields beyond the named ones, and, if so, the row that describes them.

Constructors

HasExtraFields a 
NoExtraFields 

Instances

Instances details
Functor RecordTail Source # 
Instance details

Defined in U.Codebase.Type

Methods

fmap :: (a -> b) -> RecordTail a -> RecordTail b #

(<$) :: a -> RecordTail b -> RecordTail a #

Foldable RecordTail Source # 
Instance details

Defined in U.Codebase.Type

Methods

fold :: Monoid m => RecordTail m -> m #

foldMap :: Monoid m => (a -> m) -> RecordTail a -> m #

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

foldr :: (a -> b -> b) -> b -> RecordTail a -> b #

foldr' :: (a -> b -> b) -> b -> RecordTail a -> b #

foldl :: (b -> a -> b) -> b -> RecordTail a -> b #

foldl' :: (b -> a -> b) -> b -> RecordTail a -> b #

foldr1 :: (a -> a -> a) -> RecordTail a -> a #

foldl1 :: (a -> a -> a) -> RecordTail a -> a #

toList :: RecordTail a -> [a] #

null :: RecordTail a -> Bool #

length :: RecordTail a -> Int #

elem :: Eq a => a -> RecordTail a -> Bool #

maximum :: Ord a => RecordTail a -> a #

minimum :: Ord a => RecordTail a -> a #

sum :: Num a => RecordTail a -> a #

product :: Num a => RecordTail a -> a #

Traversable RecordTail Source # 
Instance details

Defined in U.Codebase.Type

Methods

traverse :: Applicative f => (a -> f b) -> RecordTail a -> f (RecordTail b) #

sequenceA :: Applicative f => RecordTail (f a) -> f (RecordTail a) #

mapM :: Monad m => (a -> m b) -> RecordTail a -> m (RecordTail b) #

sequence :: Monad m => RecordTail (m a) -> m (RecordTail a) #

Show a => Show (RecordTail a) Source # 
Instance details

Defined in U.Codebase.Type

Eq a => Eq (RecordTail a) Source # 
Instance details

Defined in U.Codebase.Type

Methods

(==) :: RecordTail a -> RecordTail a -> Bool #

(/=) :: RecordTail a -> RecordTail a -> Bool #

Ord a => Ord (RecordTail a) Source # 
Instance details

Defined in U.Codebase.Type

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 
Record (RecordTail a) (Map Text a) 

Instances

Instances details
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 #

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) #

(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 #