Шаг 30.
Основы языка Haskell. Основные типы данных, операции, способы определения функций. Инструментальное средство разработки. Консоль

    На этом шаге мы перечислим команды, выполняемые из консоли.

    Консоль интегрированной среды разработки HUGS 98 предоставляет профессиональным пользователям возможность значительно ускорить процесс разработки программы за счёт использования набора служебных инструкций, позволяющих управлять средой. Многие из встроенных команд дублируют действия кнопок на панели инструментов и некоторые пункты главного меню приложения.

    Каждая команда начинается с символа ":" (двоеточие), который позволяет отличать встроенные команды от написанных разработчиками функций:

   Hugs> :<Команда>

    Интегрированная среда HUGS 98 позволяет сокращать название встроенной команды вплоть до одной буквы, набрав символ ":" и первую букву команды.

    Приведём набор служебных инструкций, состоящий из 19 команд:

  1. Команда загрузки модулей из заданных файлов (имена файлов можно разделить пробелом):
       :load [<Имя_файла_1> [<Имя_файла_2>...]]
    

        Дублирует кнопку загрузки модулей на панели инструментов. Если имена файлов отсутствуют, то происходит выгрузка всех модулей, кроме стандартного (Prelude.hs). При повторном использовании команды все ранее загруженные модули выгружаются из памяти интерпретатора.

  2. Подгружение дополнительных модулей в текущий проект:
       :also <Имя_файла_1> [<Имя_файла_2>...]
    

        Имена файлов должны быть разделены пробелами (если указывается более чем один файл).

  3. Повторение последней выполненной команды загрузки (:load):
       :reload
    

        Позволяет быстро выполнить перезагрузку модуля в случае, если он редактируется во внешнем текстовом редакторе.

  4. Загрузка и использование файла проекта:
       :project <Имя_файла>
    

        Загрузить можно только один файл. Файлы проекта используются для объединения разрозненных файлов с кодом. При повторном использовании команды происходит выгрузка всех файлов (как проектных, так и обычных) из памяти интерпретатора.

  5. Вызов внешнего текстового редактора для исправления указанного файла:
       :edit [<Имя_файла>]
    

        Если имя файла не указано, то на редактирование вызывается последний файл (загруженный или редактированный). Данная команда дублирует кнопку вызова внешнего текстового редактора на панели инструментов.

  6. Установление заданного модуля в качестве текущего для выполнения функций:
       :module <Модуль>
    

        Эта команда предназначена, в первую очередь, для разрешения коллизий имён.

  7. Запуск заданного выражения на выполнение:
       <Выражение>
    

        Например, команда main запустит на выполнение соответствующую функцию - main, что произведёт дублирование кнопки с панели инструментов.

  8. Вывод типа заданного выражения на экран дисплея:
       :type <Выражение>
    

        Эта команда используется главным образом в отладочных целях для быстрого получения типа создаваемого выражения (переменной, функции, сложного объекта).

  9. Вывод на экран списка команд с кратким описанием:
       :?
    

  10. Задание параметров интегрированной среды с командной строки:
       :set [-<Параметр_1> [+<Параметр_2>...]]
    

        Дублирует действие диалогового окна настройки HUGS 98. Запуск команды без параметров позволит получить полный список параметров интегрированной среды.

  11. Вывод на экран дисплея списка всех имён объектов, которые находятся в текущем (если не задано иное) пространстве имён:
       :names [pat]
    

  12. Вывод на экран дисплея описания заданных имён объектов:
       :info <Имя_объекта_1> [<Имя_объекта_2>...]
    

        Например, для функций выводит их тип вместе с именем заданной функции.

  13. Вывод на экран дисплея списка всех объектов (функций, переменных, типов), определённых в заданных модулях:
       :browse <Модуль_1> [<Модуль_2>...]
    

        Имена модулей должны быть разделены пробелом (в случае, если указано более одного имени модуля).

  14. Вызов модуля с заданным именем на редактирование:
       :find <Имя_модуля>
    

        Если заданного имени нет ни в одном из текущих модулей, то выдаётся сообщение об ошибке:

       ERROR - No current definition for name "<name>".
    

  15. Выход в операционную систему и выполнение заданной команды:
        :!<Команда>
    

        Между символом "!" и именем команды операционной системы пробел отсутствует.

  16. Изменение текущего каталога, с которым работает HUGS 98:
       :cd <Директория>
    

  17. Принудительный запуск на выполнение процесса сборки мусора:
       :gc
    

        После запуска данной команды на выполнение на экран дисплея выводится статистика о собранных и восстановленных ячейках памяти.

  18. Вывод на экран дисплея информации о версии установленного интерпретатора языка Haskell и интегрированной среды HUGS 98:
       :version
    

  19. Выход в операционную систему:
       :quit
    

    На следующем шаге мы рассмотрим настройку HUGS 98.




Предыдущий шаг Содержание Следующий шаг