{-# LANGUAGE DataKinds #-} module Unison.KindInference.UVar ( UVar (..), ) where import Unison.Symbol import Unison.Type qualified as T data UVar v loc = UVar { forall v loc. UVar v loc -> Symbol _uvarSymbol :: Symbol, forall v loc. UVar v loc -> Type v loc uvarType :: T.Type v loc } deriving stock (UVar v loc -> UVar v loc -> Bool (UVar v loc -> UVar v loc -> Bool) -> (UVar v loc -> UVar v loc -> Bool) -> Eq (UVar v loc) forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a forall v loc. Var v => UVar v loc -> UVar v loc -> Bool $c== :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool == :: UVar v loc -> UVar v loc -> Bool $c/= :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool /= :: UVar v loc -> UVar v loc -> Bool Eq, Eq (UVar v loc) Eq (UVar v loc) => (UVar v loc -> UVar v loc -> Ordering) -> (UVar v loc -> UVar v loc -> Bool) -> (UVar v loc -> UVar v loc -> Bool) -> (UVar v loc -> UVar v loc -> Bool) -> (UVar v loc -> UVar v loc -> Bool) -> (UVar v loc -> UVar v loc -> UVar v loc) -> (UVar v loc -> UVar v loc -> UVar v loc) -> Ord (UVar v loc) UVar v loc -> UVar v loc -> Bool UVar v loc -> UVar v loc -> Ordering UVar v loc -> UVar v loc -> UVar v loc forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a forall v loc. Var v => Eq (UVar v loc) forall v loc. Var v => UVar v loc -> UVar v loc -> Bool forall v loc. Var v => UVar v loc -> UVar v loc -> Ordering forall v loc. Var v => UVar v loc -> UVar v loc -> UVar v loc $ccompare :: forall v loc. Var v => UVar v loc -> UVar v loc -> Ordering compare :: UVar v loc -> UVar v loc -> Ordering $c< :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool < :: UVar v loc -> UVar v loc -> Bool $c<= :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool <= :: UVar v loc -> UVar v loc -> Bool $c> :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool > :: UVar v loc -> UVar v loc -> Bool $c>= :: forall v loc. Var v => UVar v loc -> UVar v loc -> Bool >= :: UVar v loc -> UVar v loc -> Bool $cmax :: forall v loc. Var v => UVar v loc -> UVar v loc -> UVar v loc max :: UVar v loc -> UVar v loc -> UVar v loc $cmin :: forall v loc. Var v => UVar v loc -> UVar v loc -> UVar v loc min :: UVar v loc -> UVar v loc -> UVar v loc Ord, Int -> UVar v loc -> ShowS [UVar v loc] -> ShowS UVar v loc -> String (Int -> UVar v loc -> ShowS) -> (UVar v loc -> String) -> ([UVar v loc] -> ShowS) -> Show (UVar v loc) forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a forall v loc. Show v => Int -> UVar v loc -> ShowS forall v loc. Show v => [UVar v loc] -> ShowS forall v loc. Show v => UVar v loc -> String $cshowsPrec :: forall v loc. Show v => Int -> UVar v loc -> ShowS showsPrec :: Int -> UVar v loc -> ShowS $cshow :: forall v loc. Show v => UVar v loc -> String show :: UVar v loc -> String $cshowList :: forall v loc. Show v => [UVar v loc] -> ShowS showList :: [UVar v loc] -> ShowS Show)