The Haskeline library provides a user interface for line input in command-line programs. This library is similar in purpose to readline, but since it is written in Haskell it is (hopefully) more easily used in other Haskell programs.
The latest release, as well as the API documentation, may be obtained from Hackage.
The most recent development source code can be downloaded with:
git clone https://github.com/judah/haskeline
Further documentation is also available at https://github.com/judah/haskeline/wiki
~/.haskeline
file allows customization of preferences and custom key bindings.