Unknown - haskell-notes

Здесь есть возможность читать онлайн «Unknown - haskell-notes» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

haskell-notes: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «haskell-notes»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

haskell-notes — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «haskell-notes», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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:

Toolsfor creation ofwoodcrafted 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указывает на широкую отрасль

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

ния роботов из дерева, об этом мы пишем в атрибуте 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:

Smallprogramming language

Build-Type:

Simple

Executablemicro

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

Build-Depends:

base, parsec

Main-Is:

Main.hs

Hs-Source-Dirs:micro

Executablemicro -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) и директория с исходниками, и запустить

команду:

cabal install

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

указали без ошибок все зависимости, то пакет успешно установится. Если это библиотека, то мы сможем

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

этом нам уже не важно, где находятся модули библиотеки. Мы имеем возможность импортировать их из

любого модуля. Если же пакет был исполняемой программой, будут созданы бинарные файлы программ. В

конце cabal сообщит нам куда он их положил.

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

устанавливают другие пакеты. Проблема возникает из-за того, что cabal может положить бинарный файл в

директорию, которая не видна следующим программам, которые хотят продолжить установку. В этом слу-

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «haskell-notes»

Представляем Вашему вниманию похожие книги на «haskell-notes» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «haskell-notes»

Обсуждение, отзывы о книге «haskell-notes» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x