Library for creating command-line interfaces (colors, menus, etc.)

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

BSD2 licensed and maintained by Peter Jones


Build Status

Byline simplifies writing interactive terminal applications by building upon ansi-terminal and haskeline. This makes it possible to print messages and prompts that include terminal escape sequences such as colors that are automatically disabled when standard input is a file. It also means that Byline works on both POSIX-compatible systems and on Windows.

The primary features of Byline include printing messages, prompting for input, and generating custom menus. It was inspired by the highline Ruby library and the terminal library by Craig Roche.


Please see the example programs in the examples directory.


Version History (October 09, 2018)

  • Update dependency bounds (March 20, 2018)

  • Update dependency bounds

  • Deal with the Semigroup Monoid Proposal (December 1, 2017)

  • New style modifier: swapFgBg (Thanks to Sam Tay)

  • Byline is now an instance of MonadTrans (Thanks to Sam Tay) (March 19, 2017)

  • Update dependency bounds

  • Add Travis CI build status for supported versions of GHC (November 1, 2016)

  • Increase upper bound on transformers package to 0.5 (Thanks to slycelote). (June 9, 2016)

  • Build under LTS-5.15 (November 5, 2014)

  • Updated dependencies (May 22, 2015)

  • Added the NoItems constructor for Choice to deal with menus that are asked to display an empty list.

  • Changes to build with GHC 7.8.4. and 7.10.1 (May 19, 2015)

  • Initial release.
comments powered byDisqus