# The hmake interactive line editor

Hmake interactive allows you to type expressions at the commandline, one expression per line. If you have a long expression, you are likely to make a mistake somewhere. Hence, we include a simple line editor to allow you to correct mistakes before pressing the `return` key.

Provided you have readline available on your system, and you build hi with ghc, you will get all the readline functionality built in to hi automatically.

However, if you don't have readline, or you didn't build with ghc, you get a very basic line editor instead. This line editor does not provide the full functionality you would expect from the readline library, but is provided on the grounds that some basic editing is better than none at all. (And of course, it is written fully in Haskell'98. Hence, do feel free to change or add your own preferred keystrokes for editing.) Since hmake-3.08, the line editor does have a history mechanism for retrieving earlier expressions or commands.

### Editing Keystrokes

A word of warning: the keystrokes noted in this table seem to be somewhat dependent on the terminal settings of the environment in which you run hi. You might need to experiment a little to discover what works on your machine.

backspace ^H | delete one character to the left of the cursor
delete ^? | delete one character under the cursor (i.e. to the right)
right arrow ^L | move the cursor right by one character without changing anything
left arrow | move the cursor left by one character without changing anything
up arrow | retrieve the previous line from the history buffer
down arrow | retrieve the succeeding line from the history buffer
^K | kill the line (abandon it completely)
return ^J ^M | accept the whole line (regardless of cursor position)

The latest updates to this software are available on the WWW from `http://www.haskell.org/hmake/` ( `http://www.cs.york.ac.uk/fp/hmake/`)

Information last updated: 2003-06-23
York Functional Programming Group
Malcolm.Wallace@cs.york.ac.uk