BSD-3-Clause licensed by Emily Pillmore
Maintained by Emily Pillmore
This version can be pinned in stack with:lens-process-,1950


Hackage Build Status

This package is intended to be minimalistic, with few dependencies aside from lens. For full disclosure, this is the minimal dependency graph of lens-process:

lens-process dependencies


lens-process provides optics for the process package. These optics provide convenient lenses, traversals, and prisms, as well as classy variants for significant classifiable portions of the library for convenience. In addition, we provide some combinators for working with CreateProcess types. The intention of this package is to create a well-typed optical layer for process, reflecting the shape of certain types of commands at the type level.


Revision history for lens-process


  • Migration to Gitlab CI
  • Support for 8.10
  • Migrate to using cabal-doscpec instead of docspec custom setup

API changes:

  • Enum prisms are now Prism a () instead of Prism a a for StdStream.
  • Prisms prefixed with Is are now prefixed with As in alignment with lens convention.
  • defaultCreateProcess is now located in Lens.Process.CreateProcess instead of Lens.Process.ProcessHandler.

  • Support for 8.8.1

Final design - this will not change unless System.Process significantly changes.

  • System.Process.Lens.CommandSpec is renamed to System.Process.Lens.CmdSpec to be more flush with the data names
  • documentation improvements all around
  • Type signatures of combinators inheriting, piping, handling and nostreaming have had their unnecessary constraints dropped
  • microlens-process is now in lockstep featurewise

The module formerly known as Internal.hs is now called ProcessHandler.hs

the CreateProcess optics have changed to avoid name clashes with System.IO (stdin, stderr, stdout), instead opting for the post-fixed underscore.

Added doctest suite.

Decided agains the internal module, narrowing scope

Expanded the zoo, better docs

Added ‘Internal’ module providing convenient handlers for the output of a createProcess call.

Added some spurious deps for future work on process

Widened bounds, fixed up some documentation, added few combinators

  • First version. Released on an unsuspecting world.