Description
A lightweight readline-replacement library for Haskell.
Description
Please see the README on GitHub at https://github.com/ejconlon/haskell-linenoise#readme
README.md
linenoise
A lightweight readline-replacement library for Haskell based on the linenoise library. (Not production ready!) See the demo app for usage, or see the climb library for higher-level building blocks for GHCi-like REPLs with colon-commands.
Differences from alternatives
- haskeline- This uses FFI to a minimal C library vs pure Haskell
- This uses standard MTL/Unlift typeclasses vs custom ones.
- This does not require the use of a specific monad transformer.
 
- readline- This offers a MonadIO/MonadUnliftIOinterface vs rawIO.
- This vendors and statically links its underlying library to simplify the build process.
 
- This offers a 
License and attribution
This library includes the source code and license for linenoise in cbits. It is a fork of an older library with all licensing and attribution preserved.
Development workflow
This project uses stack to build.
The Makefile has a bunch of relevant phony targets for a development workflow including
- build- Build the library and demo
- download- Update vendored- linenoise
- demo- Run the demo app
- deps- Install dev tools
- lint- Lint with- hlint
- format- Format with- stylish-haskell
- docs- Generate docs
In addition, there are targets starting with ci that are invoked in various CI phases.