module Unison.PatternMatchCoverage.PmLit where import Unison.Prelude import Unison.Util.Pretty (Pretty, string) data PmLit = Int Int64 | Nat Word64 | Boolean Bool | Float Double | Text Text | Char Char deriving stock (Int -> PmLit -> ShowS [PmLit] -> ShowS PmLit -> String (Int -> PmLit -> ShowS) -> (PmLit -> String) -> ([PmLit] -> ShowS) -> Show PmLit forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PmLit -> ShowS showsPrec :: Int -> PmLit -> ShowS $cshow :: PmLit -> String show :: PmLit -> String $cshowList :: [PmLit] -> ShowS showList :: [PmLit] -> ShowS Show, PmLit -> PmLit -> Bool (PmLit -> PmLit -> Bool) -> (PmLit -> PmLit -> Bool) -> Eq PmLit forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: PmLit -> PmLit -> Bool == :: PmLit -> PmLit -> Bool $c/= :: PmLit -> PmLit -> Bool /= :: PmLit -> PmLit -> Bool Eq, Eq PmLit Eq PmLit => (PmLit -> PmLit -> Ordering) -> (PmLit -> PmLit -> Bool) -> (PmLit -> PmLit -> Bool) -> (PmLit -> PmLit -> Bool) -> (PmLit -> PmLit -> Bool) -> (PmLit -> PmLit -> PmLit) -> (PmLit -> PmLit -> PmLit) -> Ord PmLit PmLit -> PmLit -> Bool PmLit -> PmLit -> Ordering PmLit -> PmLit -> PmLit 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 $ccompare :: PmLit -> PmLit -> Ordering compare :: PmLit -> PmLit -> Ordering $c< :: PmLit -> PmLit -> Bool < :: PmLit -> PmLit -> Bool $c<= :: PmLit -> PmLit -> Bool <= :: PmLit -> PmLit -> Bool $c> :: PmLit -> PmLit -> Bool > :: PmLit -> PmLit -> Bool $c>= :: PmLit -> PmLit -> Bool >= :: PmLit -> PmLit -> Bool $cmax :: PmLit -> PmLit -> PmLit max :: PmLit -> PmLit -> PmLit $cmin :: PmLit -> PmLit -> PmLit min :: PmLit -> PmLit -> PmLit Ord) prettyPmLit :: (IsString s) => PmLit -> Pretty s prettyPmLit :: forall s. IsString s => PmLit -> Pretty s prettyPmLit = String -> Pretty s forall s. IsString s => String -> Pretty s string (String -> Pretty s) -> (PmLit -> String) -> PmLit -> Pretty s forall b c a. (b -> c) -> (a -> b) -> a -> c . \case Int Int64 x -> Int64 -> String forall a. Show a => a -> String show Int64 x Nat Word64 x -> Word64 -> String forall a. Show a => a -> String show Word64 x Boolean Bool x -> Bool -> String forall a. Show a => a -> String show Bool x Float Double x -> Double -> String forall a. Show a => a -> String show Double x Text Text x -> Text -> String forall a. Show a => a -> String show Text x Char Char x -> Char -> String forall a. Show a => a -> String show Char x