52700.fb2 Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 351

Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 351

И конечно переопределить все функции композиции. Но все сложные функции, которые отвечают за

перевод из Track в Midi останутся прежними.

21.7 Краткое содержание

В этой главе мы построили секвенсор для создания midi-файлов. Мы воспользовались библиотекой

HCodecs и создали над ней небольшую надстройку.

В нашей библиотеке примитивными конструкциями были события, параллельная композиция (одновре-

менное воспроизведение) и преобразование событий во времени (сдвиг и масштабирование). Все остальные

операции выражались через эти простейшие операции. Отметим, что есть и другие подходы. Например в биб-

лиотеках Haskore и Euterpea примитивными конструкциями является единичное событие (без отметок во

времени) и параллельная и последовательная композиции. Подход, который мы рассмотрели в более общем

виде реализован в библиотеках temporal-music-notation и temporal-music-notation-demo.

316 | Глава 21: Музыкальный пример

21.8 Упражнения

• Попробуйте написать какую-нибудь мелодию.

• Подумайте каких операций не хватает. Например было бы удобно иметь возможность вырезать из ме-

лодии куски. Так в примере у нас остались хвосты от ударной секции, определите операцию, которая

позволяет убрать лишнее.

Упражнения | 317

Приложения

318 | Приложения

Начало работы с Haskell

Компилятор

Для программирования в Haskell нам понадобится компилятор. Мы будем пользоваться наиболее разви-

тым компилятором~– GHC. Лучше всего устанавливать его вместе с Haskell Platform:

http://hackage.haskell.org/platform/

Haskell Platform содержит стабильную версию компилятора и много хороших, проверенных временем

библиотек. Если по каким-то причинам установить Haskell Platform не удалось. Не отчаивайтесь, можно

загрузить компилятор с сайта GHC:

http://www.haskell.org/ghc/

И далее установить все необходимые библиотеки с Hackage с помощью cabal (устанавливается отдельно

с http://www.haskell.org/cabal/).

Среда разработки

Для Haskell существует очень мало сред разработки. Обычно на Haskell программируют в каких-нибудь

продвинутых текстовых редакторах (vim, Emacs, scite, kate, notepad++). Отметим всё же среду разработки

Leksah (http://leksah.org/), она написана на Haskell и её можно установить с Hackage.

Если вы не хотите разбираться с новым текстовым редактором или средой разработки, и вам нужна лишь

подсветка синтаксиса можно воспользоваться gedit. Пишем код в gedit, сохраняем, переключаемся на ghci,

пробуем, обновляем, пробуем, при случае компилируем или собираем в пакет. Всё это можно делать и в

gedit.

Начало работы с Haskell | 319

Литература

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

электронный журнал “Практика функционального программирования” (). Пока в нём доминируют два языка

– это Erlang и Haskell.

Я бы хотел рассказать о тех книгах и статьях, которые мне помогли. Все они приняли активное участие

в создании этой книги.

Книги

• Miran Lipovac̆a. Learn You A Haskell For A Great Good.

Очень хорошая книга для начинающих, Haskell в картинках. Весёлая и познавательная книга1

http://learnyouahaskell.com/