The HOL and SML distributions come with emacs modes that make using the command-line interface of HOL a little easier. Even if you are not a regular emacs user, you may find this helpful. Here's how to set it up for use on the watform servers and where to find out more information about it.
(setq load-path
(cons "/watform/pkg/mosml/utility/sml-mode-3.3b/" load-path)
)
(load "/watform/pkg/hol/tools/hol98-mode.el")
(load "/watform/pkg/mosml/utility/sml-mode-3.3b/sml-mosml.el")
(autoload 'sml-mosml "sml-mosml" "Set up and run Moscow ML." t)
(setq sml-mode-hook
'(lambda() "SML mode defaults to Moscow ML"
(define-key sml-mode-map "\C-cp" 'sml-mosml)))
;; assumes hol.unquote is in your path
(setq sml-program-name "hol.unquote")
(define-key sml-mode-map "\C-c\C-f" 'sml-send-function)
(setq inferior-sml-load-hook
'(lambda() "Set global defaults for inferior-sml-mode"
(define-key inferior-sml-mode-map "\C-cd" 'sml-cd)
(define-key sml-mode-map "\C-cd" 'sml-cd)
(setq
sml-temp-threshold 0 ; safe: always use tmp file
comint-scroll-show-maximum-output t
comint-scroll-to-bottom-on-output t
comint-input-autoexpand nil
)
))
(setq auto-mode-alist
(append '(
("\\.sml$" . sml-mode)
)
)
)