# 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. In particular, there is not yet any history mechanism for retrieving earlier expressions or commands. It just provides a few very basic facilities - and of course, it is written fully in Haskell'98. Hence, do feel free to change or add your own preferred keystrokes for editing.

### Editing Keystrokes

A word of warning: the keystrokes noted in this table seem to be extremely 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. For my shell, I need to set `stty -icanon min 1` for these to work.

backspace ^H | move the cursor left by one character without changing anything
delete ^? | delete the character under the cursor (not to the left!)
^L | move the cursor right by one character without changing anything
^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: 2000-09-25
York Functional Programming Group
Malcolm.Wallace@cs.york.ac.uk