An alternative Process effect for the effectful ecosystem.
While to the Process effect shipped with the effectful library is based on
the process package this implementation relies on
typed-process instead.
The functions exposed by the Effectful.Process.Typed module are those from
System.Process.Typed
with the notable difference that they have a TypedProcess :> es constraint.
Use runTypedProcess to handle the effect and eliminate the constraint.
import Effectful.Monad
import Effectful.Process.Typed
main :: IO ()
main = runEff . runTypedProcess $ true
true :: TypedProcess :> es => Eff es ()
true = Effectful.Process.Typed.runProcess_ $ shell "true"