Конспект лекций Рыбинск 2010





Скачать 450.1 Kb.
НазваниеКонспект лекций Рыбинск 2010
страница5/12
Дата публикации21.09.2013
Размер450.1 Kb.
ТипКонспект
100-bal.ru > Информатика > Конспект
1   2   3   4   5   6   7   8   9   ...   12

4Базовые принципы языка Haskell


Как было сказано, язык программирования Haskell является функциональным языком, и он обладает всеми вышеперечисленными свойствами

Для начала рассмотрим необходимый инструментарий для работы. Самым распространенным и эффективным на сегодняшний день является компилятор GHC (Glasgow Haskell Compiler). Он распространяется под открытой лицензией, и любой желающий может загрузить его исходные коды или скомпилированную версию для популярных операционных систем с официального сайта http://haskell.org/ghc/ (кроме того, на сайте http://haskell.org/ можно найти много дополнительной информации по языку).

Кроме самого компилятора в GHC входит интерактивная среда GHCi (GHC interactive) — интерпретатор Haskell, позволяющий вычислять любые выражения и интерпретировать написанные программы.

К сожалению, полнофункциональной среды разработки для Haskell еще не разработано (кроме, возможно, Leksah — среды разработки для Haskell, написанной на Haskell, и нескольких плагинов для Visual Studio и Eclipse), но зачастую хватает возможностей лишь расширенного текстового редактора (например, Notepad++, gedit, kate) с подсветкой синтаксиса и некоторыми другими возможностями.

4.1Интерактивная среда


Интерактивная среда GHCi может вычислять любые выражения на языке Haskell. Рассмотрим основы работы с этой средой. Для ее запуска (после установки GHC или Haskell-Platform) достаточно запустить в консоли программу ghci (либо выбрать соответствующую программу в списке всех программ). После запуска в консоли появится приглашение:

Prelude>

Prelude означает имя текущего модуля, по-умолчанию загружается стандартный модуль Prelude, содержащий все основные функции и типы данных.

Здесь мы можем вычислить любое выражение, например обыкновенное арифметическое выражение:

Prelude> 2+2

4

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

Prelude> 1-2*(4-3^2)

11

Возведение в степень (^) является стандартным оператором, определенным в стандартном модуле Prelude наравне с операциями сложения и умножения.

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

Для вычисления значения функции записывается ее имя и указываются аргументы, разделенные пробелами. Например, в стандартном модуле определена функция max, выбирающая максимальное значение из двух аргументов. Использовать ее можно так:

Prelude> max 7 100

100

В данном примере вычисляется максимальное из двух чисел — семи и ста. Как мы видим, результатом вычисления функции является число 100.

В качестве аргументов функции могут выступать любые выражения (но только соответствующего типа; подробнее типы рассматриваются в других разделах), например:

Prelude> max (2^10) (10^3)

1024

В этом примере определяется, что два в десятой степени превышает десять в третьей степени. Заметим, что заключение аргументов в скобки является обязательным для того, чтобы выделить какая часть выражения является аргументом. Например, если опустить скобки второго аргумента, то получим немного неожиданный результат:

Prelude> max (2^10) 10^3

1073741824

Без скобок данное выражение интерпретируется как максимум из двух чисел (1024 и 10), возведенный в третью степень.

Кроме того, интерактивная среда GHCi может автоматически дополнять имена вводимых функций. Если набрать только начальную часть имени функции и нажать на клавиатуре клавишу «Tab», то GHCi попытается дополнить имя функции до имеющегося среди доступных определений (из стандартного модуля, либо подключенных пользователем). Например, если набрать «maxi» и нажать «Tab», то GHCi дополнит имя функции до «maximum». В том случае, если однозначно дополнить невозможно (есть несколько подходящих вариантов), то выводятся все возможные варианты:

Prelude> max

max maxBound maximum

Prelude> max

Теперь можно уточнить имя функции (дописав несколько букв) и снова нажать клавишу «Tab».

Автодополнение очень полезно при использовании большого количества функций с длинными именами.
1   2   3   4   5   6   7   8   9   ...   12

Похожие:

Конспект лекций Рыбинск 2010 iconМестного самоуправления городского округа город рыбинск
В соответствии с Федеральным законом от 02. 03. 2007 n 25-фз "О муниципальной службе в Российской Федерации", законодательством о...
Конспект лекций Рыбинск 2010 iconОтчет главы городского округа город Рыбинск
«Об общих принципах организации местного самоуправления в Российской Федерации» на основе информации структурных подразделений и...
Конспект лекций Рыбинск 2010 iconКонспект лекций по курсу сд. Ф корпоративные информационные системы
Д. В. Колесов, Р. Д. Маш, И. Н. Беляев «Биология. Человек», Изд-во «Дрофа», Москва, 2010
Конспект лекций Рыбинск 2010 iconС. П. Филин Концепции современного естествознания: конспект лекций
Конспект лекций соответствует требованиям Государственного образовательного стандарта высшего профессионального образования РФ и...
Конспект лекций Рыбинск 2010 iconКонспект лекций раскрывает содержание и структуру учебной дисциплины...
Налоговое право : конспект лекций / сост доцент Р. В. Бобринев; Кузбасский институт экономики и права. – Кемерово, 2011 – 144 с
Конспект лекций Рыбинск 2010 iconКонспект лекций по дисциплине: теория систем и системный анализ санкт-Петербург...
Выбор показателя эффективности, математическая постановка задачи
Конспект лекций Рыбинск 2010 iconКонспект лекций по философии Часть 1 Античная философия Новосибирск...
Савостьянов А. Н. Конспект лекций по философии / Новосиб гос ун-т. Новосибирск, 2007. Ч. Античная философия. 68 с
Конспект лекций Рыбинск 2010 iconКонспект лекций по курсу хозяйственного права тема Понятие хозяйственного права
Кафедра Истории, социологии и права Назаров Андрей Александрович конспект лекций по курсу хозяйственного права
Конспект лекций Рыбинск 2010 iconКонспект лекций по высшей математике. В 2 частях. Часть М.: Айрис-пресс,...
Баранова Е. С., Васильева Н. В., Федотов В. Л. Практическое пособие по высшей математике. Типовые расчеты. Учебное пособие. — Спб:...
Конспект лекций Рыбинск 2010 iconОпорный конспект лекций Основные понятия, термины, законы, схемы...
Л. Н. Блинов, Н. Н. Ролле. Экология: опорный конспект лекций. Основные понятия, термины, законы, схемы. Спб.: Изд. Спбгпу. 2005....
Конспект лекций Рыбинск 2010 iconКонспект лекций Владимира Климентьева по истории философии, отредактированный...
Рекомендовано Министерством общего и профессионального образования Российской федерации в качестве учебника для студентов высших...
Конспект лекций Рыбинск 2010 iconТеория организации Конспект лекций для студентов специальности «Менеджмент организации»
Макарова н. Н. Теория организации. Конспект лекций с практическими заданиями для студентов специальности "Менеджмент организации....
Конспект лекций Рыбинск 2010 iconПисьменный Д. Т. Конспект лекций по теории вероятностей, математической...
Письменный Д. Т. Конспект лекций по теории вероятностей, математической статистике и случайным процессам. 3-е изд. М.: Айрис-пресс,...
Конспект лекций Рыбинск 2010 iconКонспект лекций

Конспект лекций Рыбинск 2010 iconКонспект лекций по дисциплине правовое регулирование маркетинговой деятельности
Опорный конспект лекций по дисциплине правовое регулирование маркетинговой деятельности
Конспект лекций Рыбинск 2010 iconКонспект лекций по дисциплине методика самостоятельной работы студента...
Отсутствие таких навыков приводит к тому, что учащиеся чувствуют беспомощность и растерянность при необходимости самостоятельно подготовить...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск