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

[ bsd3, library, system ] [ Propose Tags ] [ Report a vulnerability ]

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]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.3
Change log CHANGELOG.md
Dependencies base (>=4.14 && <5), bytestring (<0.12), effectful (>=2.0 && <2.4), effectful-core (>=2.0 && <2.4), typed-process (>=0.2.5 && <0.3) [details]
Tested with ghc ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.7 || ==9.6.3
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-10-07T12:56:32Z
Distributions
Downloads 275 total (34 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for typed-process-effectful-1.0.0.1

[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"