Shelly provides a single module for convenient systems programming in
Haskell.
* Shelly is aimed at convenience and getting things done rather than being
a demonstration of elegance.
* It has detailed and useful error messages.
* It maintains its own environment, making it thread-safe.
* It has low memory usage: It has
* run_ and other underscore variants that do not return stdout,
* runFoldLines to run a fold operation over each line rather than loading
all of stdout into memory,
* runHandle and runHandles for complete control over handles.
The focus of this library on convenience combined with good error messages
should make shelly approachable for newer users of Haskell.