typed-process-effectful: A binding of the @typed-process@ library for the @effectful@ effect system.

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

This library provides 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.


[Skip to Readme]

Properties

Versions 1.0.0.0, 1.0.0.0, 1.0.0.1
Change log CHANGELOG.md
Dependencies base (>=4.14 && <5), bytestring (<0.12), effectful (>=2.0 && <2.3), effectful-core (>=2.0 && <2.3), typed-process (>=0.2.5 && <0.3) [details]
License BSD-3-Clause
Author Dominik Peteler
Maintainer hackage+typed-process-effectful@with-h.at
Category System
Home page https://github.com/haskell-effectful/typed-process-effectful#readme
Bug tracker https://github.com/haskell-effectful/typed-process-effectful/issues
Source repo head: git clone https://github.com/haskell-effectful/typed-process-effectful
Uploaded by mmhat at 2023-08-23T19:57:30Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Readme for typed-process-effectful-1.0.0.0

[back to package description]

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"