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

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

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

ния роботов из дерева, об этом мы пишем в атрибуте Synopsis (краткое описание), поэтому наша библиоте-

ка принадлежит к категории искусственный интеллект или сокращённо AI. Последний атрибут Build-Type

указывает на тип сборки пакета. Мы будем пользоваться значением Simple, который соответствует сборке с

помощью простейшего файла Setup. hs, который мы рассмотрели в предыдущем разделе.

После описания пакета, идёт слово Library, ведь мы создаём библиотеку. Далее в атрибуте Build-

Depends

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

своей библиотеке. В данном случае мы пользовались лишь стандартной библиотекой base. В атрибуте hs-

source-dirs мы указываем, где искать директорию с исходным кодом библиотеки. Затем мы указываем три

внешних модуля, они будут доступны пользователю после установки библиотеки (атрибут Exposed-Modules),

и внутренние скрытые модули (атрибут Other-Modules).

Создаём исполняемые программы

Типичный файл . cabal для исполняемой программы:

Name:

micro

Version:

0.0

Cabal-Version:

>= 1.2

License:

BSD3

Author:

Tony Reeds

Synopsis:

Small programming language

Build-Type:

Simple

Executable micro

266 | Глава 18: Средства разработки

Build-Depends:

base, parsec

Main-Is:

Main. hs

Hs-Source-Dirs: micro

Executable micro-repl

Main-Is:

Main. hs

Build-Depends:

base, parsec

Hs-Source-Dirs: repl

Other-Modules:

Utils

В этом файле мы описываем две программы. Компилятор языка и интерпретатор языка micro. Если срав-

нить этот файл с файлом для библиотеки, то мы заметим лишь один новый атрибут. Это Main-Is. Он указыва-

ет в каком модуле содержится функция main. После установки этого пакета будут созданы два исполняемых

файла. С именами micro и micro-repl.

Установка пакета

Пакеты устанавливаются с помощью команды install. Необходимо перейти в директорию пакета, ту,

в которой находятся два служебных файла (. cabal и Setup. hs) и директория с исходниками, и запустить