unison-core1-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Util.Defn

Synopsis

Documentation

data Defn term typ Source #

A "definition" is either a term or a type.

Constructors

TermDefn term 
TypeDefn typ 

Instances

Instances details
Bifoldable Defn Source # 
Instance details

Defined in Unison.Util.Defn

Methods

bifold :: Monoid m => Defn m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Defn a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Defn a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Defn a b -> c #

Bifunctor Defn Source # 
Instance details

Defined in Unison.Util.Defn

Methods

bimap :: (a -> b) -> (c -> d) -> Defn a c -> Defn b d #

first :: (a -> b) -> Defn a c -> Defn b c #

second :: (b -> c) -> Defn a b -> Defn a c #

Bitraversable Defn Source # 
Instance details

Defined in Unison.Util.Defn

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Defn a b -> f (Defn c d) #

Foldable (Defn term) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

fold :: Monoid m => Defn term m -> m #

foldMap :: Monoid m => (a -> m) -> Defn term a -> m #

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

foldr :: (a -> b -> b) -> b -> Defn term a -> b #

foldr' :: (a -> b -> b) -> b -> Defn term a -> b #

foldl :: (b -> a -> b) -> b -> Defn term a -> b #

foldl' :: (b -> a -> b) -> b -> Defn term a -> b #

foldr1 :: (a -> a -> a) -> Defn term a -> a #

foldl1 :: (a -> a -> a) -> Defn term a -> a #

toList :: Defn term a -> [a] #

null :: Defn term a -> Bool #

length :: Defn term a -> Int #

elem :: Eq a => a -> Defn term a -> Bool #

maximum :: Ord a => Defn term a -> a #

minimum :: Ord a => Defn term a -> a #

sum :: Num a => Defn term a -> a #

product :: Num a => Defn term a -> a #

Traversable (Defn term) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

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

sequenceA :: Applicative f => Defn term (f a) -> f (Defn term a) #

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

sequence :: Monad m => Defn term (m a) -> m (Defn term a) #

Functor (Defn term) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

fmap :: (a -> b) -> Defn term a -> Defn term b #

(<$) :: a -> Defn term b -> Defn term a #

Generic (Defn term typ) Source # 
Instance details

Defined in Unison.Util.Defn

Associated Types

type Rep (Defn term typ) :: Type -> Type #

Methods

from :: Defn term typ -> Rep (Defn term typ) x #

to :: Rep (Defn term typ) x -> Defn term typ #

(Show term, Show typ) => Show (Defn term typ) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

showsPrec :: Int -> Defn term typ -> ShowS #

show :: Defn term typ -> String #

showList :: [Defn term typ] -> ShowS #

(Eq term, Eq typ) => Eq (Defn term typ) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

(==) :: Defn term typ -> Defn term typ -> Bool #

(/=) :: Defn term typ -> Defn term typ -> Bool #

(Ord term, Ord typ) => Ord (Defn term typ) Source # 
Instance details

Defined in Unison.Util.Defn

Methods

compare :: Defn term typ -> Defn term typ -> Ordering #

(<) :: Defn term typ -> Defn term typ -> Bool #

(<=) :: Defn term typ -> Defn term typ -> Bool #

(>) :: Defn term typ -> Defn term typ -> Bool #

(>=) :: Defn term typ -> Defn term typ -> Bool #

max :: Defn term typ -> Defn term typ -> Defn term typ #

min :: Defn term typ -> Defn term typ -> Defn term typ #

type Rep (Defn term typ) Source # 
Instance details

Defined in Unison.Util.Defn

type Rep (Defn term typ) = D1 ('MetaData "Defn" "Unison.Util.Defn" "unison-core1-0.0.0-5x4E7QrTypA36O38TyvH2g" 'False) (C1 ('MetaCons "TermDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 term)) :+: C1 ('MetaCons "TypeDefn" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 typ)))