На этом шаге мы перечислим команды, выполняемые из консоли.
Консоль интегрированной среды разработки HUGS 98 предоставляет профессиональным пользователям возможность значительно ускорить процесс разработки программы за счёт использования набора служебных инструкций, позволяющих управлять средой. Многие из встроенных команд дублируют действия кнопок на панели инструментов и некоторые пункты главного меню приложения.
Каждая команда начинается с символа ":" (двоеточие), который позволяет отличать встроенные команды от написанных разработчиками функций:
Hugs> :<Команда>
Интегрированная среда HUGS 98 позволяет сокращать название встроенной команды вплоть до одной буквы, набрав символ ":" и первую букву команды.
Приведём набор служебных инструкций, состоящий из 19 команд:
:load [<Имя_файла_1> [<Имя_файла_2>...]]
Дублирует кнопку загрузки модулей на панели инструментов. Если имена файлов отсутствуют, то происходит выгрузка всех модулей, кроме стандартного (Prelude.hs). При повторном использовании команды все ранее загруженные модули выгружаются из памяти интерпретатора.
:also <Имя_файла_1> [<Имя_файла_2>...]
Имена файлов должны быть разделены пробелами (если указывается более чем один файл).
:reload
Позволяет быстро выполнить перезагрузку модуля в случае, если он редактируется во внешнем текстовом редакторе.
:project <Имя_файла>
Загрузить можно только один файл. Файлы проекта используются для объединения разрозненных файлов с кодом. При повторном использовании команды происходит выгрузка всех файлов (как проектных, так и обычных) из памяти интерпретатора.
:edit [<Имя_файла>]
Если имя файла не указано, то на редактирование вызывается последний файл (загруженный или редактированный). Данная команда дублирует кнопку вызова внешнего текстового редактора на панели инструментов.
:module <Модуль>
Эта команда предназначена, в первую очередь, для разрешения коллизий имён.
<Выражение>
Например, команда main запустит на выполнение соответствующую функцию - main, что произведёт дублирование кнопки с панели инструментов.
:type <Выражение>
Эта команда используется главным образом в отладочных целях для быстрого получения типа создаваемого выражения (переменной, функции, сложного объекта).
:?
:set [-<Параметр_1> [+<Параметр_2>...]]
Дублирует действие диалогового окна настройки HUGS 98. Запуск команды без параметров позволит получить полный список параметров интегрированной среды.
:names [pat]
:info <Имя_объекта_1> [<Имя_объекта_2>...]
Например, для функций выводит их тип вместе с именем заданной функции.
:browse <Модуль_1> [<Модуль_2>...]
Имена модулей должны быть разделены пробелом (в случае, если указано более одного имени модуля).
:find <Имя_модуля>
Если заданного имени нет ни в одном из текущих модулей, то выдаётся сообщение об ошибке:
ERROR - No current definition for name "<name>".
:!<Команда>
Между символом "!" и именем команды операционной системы пробел отсутствует.
:cd <Директория>
:gc
После запуска данной команды на выполнение на экран дисплея выводится статистика о собранных и восстановленных ячейках памяти.
:version
:quit
На следующем шаге мы рассмотрим настройку HUGS 98.