exitcode-0.1.0.6: src/Control/Process/Pid.hs
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Control.Process.Pid(
HasPid(..)
, AsPid(..)
) where
import Control.Category((.), id)
import Control.Lens ( iso, Lens', Prism' )
import Data.Int ( Int32 )
import System.Posix.Types ( CPid(CPid) )
import System.Process ( Pid )
class HasPid a where
pid ::
Lens' a Pid
pidInt32 ::
Lens' a Int32
pidInt32 =
pid .
iso
(\(CPid x) -> x)
CPid
instance HasPid Pid where
pid =
id
class AsPid a where
_Pid ::
Prism' a Pid
_PidInt32 ::
Prism' a Int32
_PidInt32 =
_Pid .
iso
(\(CPid x) -> x)
CPid
instance AsPid Pid where
_Pid =
id