# hmake interactive commands

Commands you can type to the hmake interactive prompt are very like those for Hugs. There are just a few extra and a few missing. Any command can be abbreviated to its shortest unique prefix.

Commands that are identical in hi and Hugs:

`expr` | evaluate the expression
`:?` | display help text
`:quit` | exit
`:load mod [mod...]` | load the named modules (note, not filenames!)
`:load` | remove all modules
`:reload` | repeat the last :load command
`:also mod [mod...]` | load additional modules
`:edit file` | edit filename
`:edit` | edit the current module
`:cd dir` | change the current directory
`:cd` | show the current directory
`:dir` | list the current directory
`:set options` | set hmake/compiler options
`:set` | show current hmake/compiler options
`:unset options` | unset hmake/compiler options
`:!command` | shell escape
`:version` | display version of hmake

Commands that are supported by hi (but not by Hugs):

`:hc compiler` | change Haskell compiler
`:hc` | report current Haskell compiler, and show available compilers

Hugs commands which are not supported in hi:

`:names pat` | list names currently in scope
`:info name` | describe the named object
`:find name` | edit the module containing the definition of name (suggestion: use `:!grep ^name *.hs` to find the module)
`:project filename` | obsolete (project files were an alternative to the Haskell module system)
`:gc` | force a garbage collection (only makes sense in a true interpreter)

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: 2002-01-21
York Functional Programming Group
Malcolm.Wallace@cs.york.ac.uk