Skip to content

haskell-effectful/typed-process-effectful

Repository files navigation

typed-process-effectful

Description

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.

How to use

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"