Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
27.05.2015
Размер:
2.11 Mб
Скачать
  1. Просмотр иерархии классов

Просматривая иерархию классов (Browse->Hierarchy), программист может уви­деть отношения наследования между созданными классами. Не­об­ходимо отметить, что алгоритм прорисовки классов и от­но­ше­ний вHUGS98 несколько неадекватен, поэтому для более пол­но­го понимания от программиста требуется либо чутьё, либо спо­собность быстро разбросать все классы по диалоговому ок­ну, создав планарный граф.

Это диалоговое окно можно вызвать не только из главного ме­ню приложения, но и из диалогового окна для просмотра спис­ка классов.

На рисунке показана иерархия классов из файла Prelude.hs. Как вид­но из рисунка в этом файле определены классы эк­ви­ва­лен­т­нос­ти (все, которые наследуют свойства классаEq) и классы-мо­на­ды (Monad,Functor,ReadиBounded).

Создание скрипта

В главном каталоге для проведения лабораторных работ по фун­кциональному программированию создать подкаталог, наз­ва­ние которого должно соответствовать номеру группы (ко­неч­но, если такой подкаталог ещё не создан). В этом каталоге соз­дать ещё один подкаталог, название которого должно со­от­вет­с­т­во­вать фамилии студента. При помощи стандартного текстового редактора (NotepadдляWindows) создать новый файл с расширениемHS.

Некоторые важные понятия

Последовательность интерактивных взаимодействий пользователя и компьютера называется сессией. Набор объявлений и определений функций, размещенный в отдельном файле, называетсяскриптом.Hugsне позволяет определять новые функции в интерактивном режиме, а только разрешает вводить выражения, использующие уже определенные функции. Каждая программа (скрипт) на языкеHaskell, называемая также модулем, размещается в отдельном файле, имеющем расширениеhs.

Упражнение.

Создайте с помощью любого текстового редактора файл, содержащий следующие две строки:

square :: Integer -> Integer

square x = x*x

Сохраните файл под именем myprog.hs. Далее откройте интерпретатор и проделайте следующие действия:File->ModuleManager…->Add-> найдите директорию с вашим файлом и нажмитеOk(или нажмите на панели инструментов на значок «открытие документа» и выберите свой файл).

Далее наберите

square 12

у вас получится примерно так:

Пояснения.Наш первый скрипт содержитобъявление(первая строка) иопределение(вторая строка) функцииsquare. Объявление функции указывает откуда и куда действует функция, а определение задает способ преобразования аргумента. Символ :: читается как «имеет тип». Для ознакомления интерпретатораHugsс содержимым файла используется команда :load(и ее сокращенная форма :l).

Изучение файла Prelude.Hs

Цель: изучить структуру и реализованные возможности файла на­чальной загрузки HUGS 98 — Prelude.hs; узнать, какие клас­сы, простые структуры данных и функции для их обработки уже реализованы разработчиками HUGS 98. Приобрести навыки работы с интерпретатором Haskell. Получить представление об оснонвых типах языка Haskell. Научиться определять простейшие функции.

Предварительная подготовка

В системном каталоге ИС HUGS98 найти файл предопределенийPrelude.hs(например, C:\Program Files\WinHugs\packages\hugsbase\Hugs). Скопировать этот файл в личный каталог для проведения лабораторных работ по функциональному программированию и дать этому файлу новое название.

Соседние файлы в папке То что скидывала Даша