packages feed

heftia-effects-0.6.0.0: Example/Subprocess/Main.hs

-- SPDX-License-Identifier: MPL-2.0

module Main where

import Control.Monad.Hefty (liftIO, (&))
import Control.Monad.Hefty.Concurrent.Subprocess (CreateProcess (stdout), StdStream (CreatePipe), SubprocResult, readStdout, runSubprocIO, scoped, shell)
import Control.Monad.Hefty.Unlift (runUnliftIO)

main :: IO ()
main = runUnliftIO . runSubprocIO $ do
    r <- scoped @SubprocResult (shell "echo a b c") {stdout = CreatePipe} \_ -> do
        readStdout
    print r & liftIO

-- SubprocScopeResult ExitSuccess "a b c\n"