HugIDE - предельно простая бесплатная среда для разработки приложений на языке Haskell под операционной системой Windows. HugIDE идеально подходит для изучения языка, проведения лабораторных работ и ведения небольших проектов.
Данная среда предполагает, что на компьютере пользователя установлен компилятор ghc, и является вспомогательным звеном между программистом и транслятором языка. HugIDE объединяет в одном окне и поле редактирования исходных кодов, и средства управления транслятором языка, и отображение результатов вычисления.
| Список релизов | |||
| Версия | Дата выхода | Загрузок | Архив |
|---|---|---|---|
| 1.14 | 26.04.2012 | 9 | архив 3мб |
| 1.13 | 19.04.2012 | 12 | архив 3мб |
| 1.12 | 07.02.2011 | 177 | архив 2мб |
Для установки HugIDE необходимо скачать ее с сайта. Архив с программой состоит из единственного исполняемого файла, который нужно распаковать в удобную папку. После запуска файла HugIDE.exe в папке с программой будет создано две вспомогательные папки: «cfg» и «temp». Пользователю необходимо проследить, чтобы у приложения было достаточно прав для создания этих подпапок, в противном случае работа приложения не сможет быть продолжена.
Папка «cfg» необходима для хранения текущих настроек среды, в ней располагаются следующие файлы:
Папка «temp» нужна лишь для хранения временных файлов, возникающих в процессе компиляции. Все ее содержимое может быть без последствий удалено в любой момент.
Внешний вид среды представлен на Рис. 1. На изображении отмечены следующие элементы:

Главное меню
В таблицах 1-5 приведено содержимое пунктов главного меню.
| Таблица 1. Раздел меню «Файл». | ||
| Горячие клавиши | Команда | Описание |
|---|---|---|
| Новый проект | Создание нового проекта | |
| F11 | Открыть проект | Выбор существующего проекта |
| Ctrl+O | Добавить модуль | Добавить файл к текущему проекту |
| Ctrl+N | Новый модуль | Создать новый файл и добавить его к текущему проекту |
| Ctrl+S | Сохранить все | Сохранить все изменения в файлах и текущий состав выбранного проекта |
| Закрыть проект | Закрыть текущий проект | |
| Очистить поле вывода | Удалить все содержимое поле вывода | |
| Ctrl+P | Экспорт в rtf | Сохранить текущую закладку или выделенный текст как rtf |
| Ctrl+H | Экспорт в html | Сохранить текущую закладку или выделенный текст как html |
| Открыть cmd | Запустить консоль | |
| Открыть проводник | Открыть с проводник с путем к файлу текущей закладки | |
| Таблица 2. Раздел меню «Поиск». | ||
| Горячие клавиши | Команда | Описание |
|---|---|---|
| Ctrl+F | Поиск | Поиск подстроки в текущей закладке |
| F3 | Искать далее | Продолжить предыдущий поиск |
| Ctrl+R | Заменить | Найти и заменить подстроку в текущей вкладке |
| Таблица 3. Раздел меню «GHC». | ||
| Горячие клавиши | Команда | Описание |
|---|---|---|
| F8 | Выполнить | Выполнить команду в контексте текущей вкладки |
| F7 | Прервать | Прервать вычисление |
| Ctrl+F9 | Компилировать | Компилировать текущую вкладку |
| F9 | Запуск | Компилировать текущую вкладку и в случае успеха запустить получившийся exe файл |
| Ctrl+F2 | Стоп | Принудительно завершить запущенный exe файл |
| Таблица 4. Раздел меню «Настройки». | ||
| Горячие клавиши | Команда | Описание |
|---|---|---|
| Ctrl+Alt+C | Режим калькулятора | Включить / выключить компактный режим среды |
| F12 | Конфигурация | Детальная настройка среды |
| Таблица 5. Раздел меню «Помощь». | ||
| Горячие клавиши | Команда | Описание |
|---|---|---|
| Haskell.org | Открыть в браузере сайт Haskell.org | |
| Haskell Platform | Открыть в браузере страницу для скачивания Haskell Platform | |
| F1 | Hoogle | Открыть в браузере поисковик Hoogle со страницей с результатами поиска |
| Stack Overflow | Открыть в браузере раздел сайта Stack Overflow посвященный Haskell | |
| Домашняя страница | Открыть домашнюю страницу HugIDE | |
Панель закладок
В панели закладок пользователь может менять порядок закладок, удерживая и перемещая нужную закладку с помощью левой клавиши мыши. Так же можно закрыть ненужную вкладку с помощью кнопки в правом углу панели. Данные действия не распространяются на закладку «Блокнот»: она всегда открыта и является первой в списке, в независимости от действий с проектом. Текущий набор закладок автоматически сохраняется в файле проекта при каждом добавлении / удалении файла, а также при изменении порядка следования закладок.
Блокнот
Первая закладка в панели закладок называется «Блокнот», она зафиксирована и не зависит от выбранного проекта. Пользователь может использовать ее в качестве песочницы для изучения различных функций и рассмотрения простых примеров. Данная закладка, по сути, является временным файлом и не предназначена для хранения полезного кода.
Проект
Под проектом в HugIDE понимается всего лишь группа файлов. Пользователь выбирает на диске нужные файлы, которые могут относиться как одной программе, так и к нескольким. Выбранные файлы с исходным кодом отображаются в «панели закладок». Выбранная пользователем закладка определяет контекст использования интерпретатора и компилятора. Именно к этому файлу будет применена команда интерпретатора и именно этот файл будет передан компилятору в качестве главного модуля.
Команда интерпретатору:
ghc -i#dir_hs# -e #com# # name_hs #
Шаблоны в определение команды имеют следующие значения:
Для компилятора команда будет следующей:
ghc -O2 -ihs -o #name_exe# -odir #tmp# -hidir #tmp# -stubdir #tmp# --make #name_hs#
Шаблоны в определение команды имеют такие значения:
Проект, к примеру, может содержать в себе как общие файлы библиотек, так и несколько главных модулей. В этом смысле проект HugIDE отличается от обычного проекта: ведь под обычным проектом понимается, что он тождественен какому-либо исполняемому файлу или библиотеке.
Для того, чтобы начать работу с проектом, необходимо создать новый проект или выбрать уже существующий.
Для создания нового проекта пользователь должен выбрать в меню пункт «Новый проект», после чего в диалоговом окне нужно дать имя новому файлу проекта. Созданный файл будет иметь расширение «.hsp».
Для открытия существующего проекта необходимо выбрать в меню пункт «Открыть проект», после чего в диалоговом окне нужно выбрать имя существующего файла проекта.
После активации проекта станут доступны опции по изменению состава проекта.
Для добавления файла в проект пользователю необходимо выбрать пункт меню «Добавить», а затем выбрать нужный файл на диске. Также можно перетащить иконку файла из проводника в поле редактора, что автоматически добавит данный файл в проект.
Для удаления файла из проекта достаточно закрыть вкладку. Отметим, что удаление файла из проекта не приводит к его физическому удалению из файловой системы.
Текстовый редактор
В поле редактора отображается содержимое файла текущей закладки с подсветкой синтаксиса. Кроме того, отображаются и номера строк кода, которые могут быть использованы для определения проблемных мест при анализе сообщений об ошибках транслятора Haskell.
Нажав правой клавишей на поле редактора, пользователь увидит всплывающее меню, где в первом пункте указан полный путь к файлу. Выбор этого пункта открывает проводник Windows, где по умолчанию установлена папка с текущим файлом. Аналогичное действие можно произвести, выбрав следующие пункты меню: Файл → Открыть проводник.
Выделив текст в поле редактора и нажав клавишу F1 либо выбрав соответствующий пункт меню (Hoogle), пользователь автоматически перейдет в браузер на страницу с результатами поиска данной подстроки в системе поиска Hoogle. Если текст не выбран, то в браузере просто откроется строка поиска.
Калькулятор
Когда пользователь выбирает пункт меню «Калькулятор», окно среды переходит в компактный режим: скрывается главное меню, быстрые кнопки, панель закладок и редактор. В окне программы остается только поле ввода команд и поле вывода результата, а само окно располагается поверх всех окон. При этом контекст интерпретатора остается в последней выбранной вкладке.
Такой вид окна позволяет удобно производить расчеты совместно с другими открытыми приложениями. Внешний вид среды в таком режиме представлен на Рис. 2:

Экспорт
Пользователь может экспортировать исходный текст модуля в файлы формата rtf или html для последующей печати или распространения через Интернет. Точно так же возможно экспортировать часть кода файла: для этого необходимо выделить интересующую область текста и выбрать соответствующий пункт меню.