{-# OPTIONS_GHC -Wall #-} {-# LANGUAGE NoImplicitPrelude #-} module Control.Process.ProcessHandle( HasProcessHandle(..) , AsProcessHandle(..) ) where import Control.Category(id) import System.Process ( ProcessHandle ) import Control.Lens ( Lens', Prism' ) class HasProcessHandle a where processHandle :: Lens' a ProcessHandle instance HasProcessHandle ProcessHandle where processHandle :: Lens' ProcessHandle ProcessHandle processHandle = forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a id class AsProcessHandle a where _ProcessHandle :: Prism' a ProcessHandle instance AsProcessHandle ProcessHandle where _ProcessHandle :: Prism' ProcessHandle ProcessHandle _ProcessHandle = forall {k} (cat :: k -> k -> *) (a :: k). Category cat => cat a a id