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.
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
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.
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 demodownload- Update vendoredlinenoisedemo- Run the demo appdeps- Install dev toolslint- Lint withhlintformat- Format withstylish-haskelldocs- Generate docs
In addition, there are targets starting with ci that are invoked in various CI phases.