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"