simple-cmd: Simple String-based process commands

[ bsd3, library, system ] [ Propose Tags ]

Thin wrappers over System.Process (readProcess, readProcessWithExitCode, and rawSystem). The idea is to provide some simple common idioms for easy calling out to commands from programs. For more advanced shell-scripting or streaming use turtle, shelly, command, etc.

[Skip to Readme]
Versions [faq], 0.1.1, 0.1.2, 0.1.3,, 0.1.4, 0.2.0,
Change log
Dependencies base (<5), directory, filepath, process, unix [details]
License BSD-3-Clause
Copyright Jens Petersen <>
Author Jens Petersen
Category System
Source repo head: git clone
Uploaded by JensPetersen at Sun Mar 17 10:06:39 UTC 2019
Distributions Fedora:, LTSHaskell:0.1.4, NixOS:, Stackage:
Downloads 901 total (103 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-03-17 [all 1 reports]


[Index] [Quick Jump]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for simple-cmd-

[back to package description]

Build Status Hackage


Some simple String wrappers of readProcess, readProcessWithExitCode, rawSystem from the Haskell process library.


import SimpleCmd
cmd_ :: String -> [String] -> IO ()

outputs to stdout. For example

cmd_ "git" ["clone", url]

This can shortened to git_ "clone" [url].

cmd :: String -> [String] -> IO String

returns stdout as a String.

There are also cmdBool, cmdMaybe, cmdList, shell, and others.

Other examples:

gitBranch :: IO String
grep_ pat file :: IO Bool
sudo c args :: IO ()

See the library documentation for more details.