-- |Pid data type, Internal
module Polysemy.Process.Data.Pid where

-- |A process ID.
newtype Pid =
  Pid { Pid -> Int
unPid :: Int }
  deriving stock (Pid -> Pid -> Bool
(Pid -> Pid -> Bool) -> (Pid -> Pid -> Bool) -> Eq Pid
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Pid -> Pid -> Bool
== :: Pid -> Pid -> Bool
$c/= :: Pid -> Pid -> Bool
/= :: Pid -> Pid -> Bool
Eq, Int -> Pid -> ShowS
[Pid] -> ShowS
Pid -> String
(Int -> Pid -> ShowS)
-> (Pid -> String) -> ([Pid] -> ShowS) -> Show Pid
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Pid -> ShowS
showsPrec :: Int -> Pid -> ShowS
$cshow :: Pid -> String
show :: Pid -> String
$cshowList :: [Pid] -> ShowS
showList :: [Pid] -> ShowS
Show, ReadPrec [Pid]
ReadPrec Pid
Int -> ReadS Pid
ReadS [Pid]
(Int -> ReadS Pid)
-> ReadS [Pid] -> ReadPrec Pid -> ReadPrec [Pid] -> Read Pid
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS Pid
readsPrec :: Int -> ReadS Pid
$creadList :: ReadS [Pid]
readList :: ReadS [Pid]
$creadPrec :: ReadPrec Pid
readPrec :: ReadPrec Pid
$creadListPrec :: ReadPrec [Pid]
readListPrec :: ReadPrec [Pid]
Read)
  deriving newtype (Integer -> Pid
Pid -> Pid
Pid -> Pid -> Pid
(Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid)
-> (Pid -> Pid)
-> (Pid -> Pid)
-> (Integer -> Pid)
-> Num Pid
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
$c+ :: Pid -> Pid -> Pid
+ :: Pid -> Pid -> Pid
$c- :: Pid -> Pid -> Pid
- :: Pid -> Pid -> Pid
$c* :: Pid -> Pid -> Pid
* :: Pid -> Pid -> Pid
$cnegate :: Pid -> Pid
negate :: Pid -> Pid
$cabs :: Pid -> Pid
abs :: Pid -> Pid
$csignum :: Pid -> Pid
signum :: Pid -> Pid
$cfromInteger :: Integer -> Pid
fromInteger :: Integer -> Pid
Num, Num Pid
Ord Pid
Num Pid -> Ord Pid -> (Pid -> Rational) -> Real Pid
Pid -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
$ctoRational :: Pid -> Rational
toRational :: Pid -> Rational
Real, Int -> Pid
Pid -> Int
Pid -> [Pid]
Pid -> Pid
Pid -> Pid -> [Pid]
Pid -> Pid -> Pid -> [Pid]
(Pid -> Pid)
-> (Pid -> Pid)
-> (Int -> Pid)
-> (Pid -> Int)
-> (Pid -> [Pid])
-> (Pid -> Pid -> [Pid])
-> (Pid -> Pid -> [Pid])
-> (Pid -> Pid -> Pid -> [Pid])
-> Enum Pid
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
$csucc :: Pid -> Pid
succ :: Pid -> Pid
$cpred :: Pid -> Pid
pred :: Pid -> Pid
$ctoEnum :: Int -> Pid
toEnum :: Int -> Pid
$cfromEnum :: Pid -> Int
fromEnum :: Pid -> Int
$cenumFrom :: Pid -> [Pid]
enumFrom :: Pid -> [Pid]
$cenumFromThen :: Pid -> Pid -> [Pid]
enumFromThen :: Pid -> Pid -> [Pid]
$cenumFromTo :: Pid -> Pid -> [Pid]
enumFromTo :: Pid -> Pid -> [Pid]
$cenumFromThenTo :: Pid -> Pid -> Pid -> [Pid]
enumFromThenTo :: Pid -> Pid -> Pid -> [Pid]
Enum, Enum Pid
Real Pid
Real Pid
-> Enum Pid
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> (Pid, Pid))
-> (Pid -> Pid -> (Pid, Pid))
-> (Pid -> Integer)
-> Integral Pid
Pid -> Integer
Pid -> Pid -> (Pid, Pid)
Pid -> Pid -> Pid
forall a.
Real a
-> Enum a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
$cquot :: Pid -> Pid -> Pid
quot :: Pid -> Pid -> Pid
$crem :: Pid -> Pid -> Pid
rem :: Pid -> Pid -> Pid
$cdiv :: Pid -> Pid -> Pid
div :: Pid -> Pid -> Pid
$cmod :: Pid -> Pid -> Pid
mod :: Pid -> Pid -> Pid
$cquotRem :: Pid -> Pid -> (Pid, Pid)
quotRem :: Pid -> Pid -> (Pid, Pid)
$cdivMod :: Pid -> Pid -> (Pid, Pid)
divMod :: Pid -> Pid -> (Pid, Pid)
$ctoInteger :: Pid -> Integer
toInteger :: Pid -> Integer
Integral, Eq Pid
Eq Pid
-> (Pid -> Pid -> Ordering)
-> (Pid -> Pid -> Bool)
-> (Pid -> Pid -> Bool)
-> (Pid -> Pid -> Bool)
-> (Pid -> Pid -> Bool)
-> (Pid -> Pid -> Pid)
-> (Pid -> Pid -> Pid)
-> Ord Pid
Pid -> Pid -> Bool
Pid -> Pid -> Ordering
Pid -> Pid -> Pid
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 :: Pid -> Pid -> Ordering
compare :: Pid -> Pid -> Ordering
$c< :: Pid -> Pid -> Bool
< :: Pid -> Pid -> Bool
$c<= :: Pid -> Pid -> Bool
<= :: Pid -> Pid -> Bool
$c> :: Pid -> Pid -> Bool
> :: Pid -> Pid -> Bool
$c>= :: Pid -> Pid -> Bool
>= :: Pid -> Pid -> Bool
$cmax :: Pid -> Pid -> Pid
max :: Pid -> Pid -> Pid
$cmin :: Pid -> Pid -> Pid
min :: Pid -> Pid -> Pid
Ord)