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

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

деляем будет наш пакет библиотекой или исполняемой программой или возможно он будет и тем и другим.

Если пакет будет библиотекой, то мы помещаем за набором атрибутов слово Library, а если это исполняе-

мая программа, то мы помещаем слово Executable, после мы пишем описание модулей пакета, зависимости

от других пакетов, какие модули будут видны пользователю. Формат составления описаний в этой части та-

кой же как и в самом начале файла. Сначала идёт зарезервированное слово-атрибут, затем через двоеточие

следует значение. Обратите внимание на отступы за словом Library, они обязательны и сделаны с помощью

пробелов, cabal не воспринимает табуляцию.

Файл . cabal может содержать комментарии, они делаются также как и в Haskell, закомментированная

строка начинается с двойного тире.

| 265

Setup.hs

Файл Setup. hs содержит информацию о том как устанавливается библиотека. При установке могут ис-

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

import Distribution.Simple

main = defaultMain

Этот файл позволяет нам создавать библиотеки и приложения, которые созданы только с помощью

Haskell. Это не так уж и мало!

Создаём библиотеки

Типичный файл . cabal для библиотеки выглядит так:

Name:

pinocchio

Version:

1.1. 1

Cabal-Version:

>= 1.2

License:

BSD3

License-File:

LICENSE

Author:

Mister Geppetto

Homepage:

http://pinocchio. sourceforge. net/

Category:

AI

Synopsis:

Tools for creation of woodcrafted robots

Build-Type:

Simple

Library

Build-Depends: base

Hs-Source-Dirs: src/

Exposed-modules:

Wood.Robot.Act, Wood.Robot.Percept, Wood.Robot.Think

Other-Modules:

Wood.Robot.Internals

Этим файлом мы описали библиотеку с именем pinocchio, версия 1.1.1, она использует версию cabal

не ниже 1.2. Библиотека выпущена под лицензией BSD3. Файл с лицензией находится в текущей директо-

рии под именем LICENSE. Автор библиотеки Mister Geppetto. Подробнее узнать о библиотеке можно на её

домашней странице http://pinocchio. sourceforge. net/. Атрибут Category указывает на широкую отрасль