unison-parser-typechecker-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Util.Star2

Documentation

data Star2 fact d1 d2 Source #

Constructors

Star2 (Set fact) (Relation fact d1) (Relation fact d2) 

Instances

Instances details
(Ord fact, Ord d1, Ord d2) => Monoid (Star2 fact d1 d2) Source # 
Instance details

Defined in Unison.Util.Star2

Methods

mempty :: Star2 fact d1 d2 #

mappend :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Star2 fact d1 d2 #

mconcat :: [Star2 fact d1 d2] -> Star2 fact d1 d2 #

(Ord fact, Ord d1, Ord d2) => Semigroup (Star2 fact d1 d2) Source # 
Instance details

Defined in Unison.Util.Star2

Methods

(<>) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Star2 fact d1 d2 #

sconcat :: NonEmpty (Star2 fact d1 d2) -> Star2 fact d1 d2 #

stimes :: Integral b => b -> Star2 fact d1 d2 -> Star2 fact d1 d2 #

(Show fact, Show d1, Show d2) => Show (Star2 fact d1 d2) Source # 
Instance details

Defined in Unison.Util.Star2

Methods

showsPrec :: Int -> Star2 fact d1 d2 -> ShowS #

show :: Star2 fact d1 d2 -> String #

showList :: [Star2 fact d1 d2] -> ShowS #

(Eq fact, Eq d1, Eq d2) => Eq (Star2 fact d1 d2) Source # 
Instance details

Defined in Unison.Util.Star2

Methods

(==) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

(/=) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

(Ord fact, Ord d1, Ord d2) => Ord (Star2 fact d1 d2) Source # 
Instance details

Defined in Unison.Util.Star2

Methods

compare :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Ordering #

(<) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

(<=) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

(>) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

(>=) :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Bool #

max :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Star2 fact d1 d2 #

min :: Star2 fact d1 d2 -> Star2 fact d1 d2 -> Star2 fact d1 d2 #

$sel:fact:Star2 :: Star2 fact d1 d2 -> Set fact Source #

insertD1 :: (Ord fact, Ord d1) => (fact, d1) -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

insertD2 :: (Ord fact, Ord d2) => (fact, d2) -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

deleteD1 :: (Ord fact, Ord d1, Ord d2) => d1 -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

deleteD2 :: (Ord fact, Ord d1, Ord d2) => (fact, d2) -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

deleteFact :: (Ord fact, Ord d1, Ord d2) => Set fact -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

deletePrimaryD1 :: (Ord fact, Ord d1, Ord d2) => (fact, d1) -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

$sel:d1:Star2 :: Star2 fact d1 d2 -> Relation fact d1 Source #

$sel:d2:Star2 :: Star2 fact d1 d2 -> Relation fact d2 Source #

difference :: (Ord fact, Ord d1, Ord d2) => Star2 fact d1 d2 -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #

lookupD1 :: (Ord fact, Ord d1) => d1 -> Star2 fact d1 d2 -> Set fact Source #

mapD2 :: (Ord fact, Ord d2, Ord d2a) => (d2 -> d2a) -> Star2 fact d1 d2 -> Star2 fact d1 d2a Source #

memberD1 :: (Ord fact, Ord d1) => (fact, d1) -> Star2 fact d1 d2 -> Bool Source #

replaceFacts :: (Ord fact, Ord d1, Ord d2) => (fact -> fact -> Star2 fact d1 d2 -> Star2 fact d1 d2) -> Map fact fact -> Star2 fact d1 d2 -> Star2 fact d1 d2 Source #