Unknown - haskell-notes

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Помните когда-то мы занимались профилированием? Это было в главе, посвящённой устройству GHC.

Мы включали флаг -prof и всё шло гладко. Там мы профилировали код, в котором участвовали лишь

стандартные библиотеки из пакета base, такие как Prelude. Но если мы попробуем профилировать код с

какими-нибудь другими библиотеками, установленными с помощью cabal, GHC возмутится и скажет, что

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

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

профилирования. Это делается при установке с помощью специального флага –“enable-library-profiling

или –“enable-executable-profiling (если мы устанавливаем исполняемое приложение):

$ cabal install имярек --reinstall --enable-library-profiling

Библиотека будет установлена в двух экземплярах: для исполнения и профилирования. Возможно биб-

лиотека имярекпотребует переустановки некоторых библиотек, от которых она зависит. Повторяем эту про-

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

библиотек нельзя. Но мы можем сделать так, чтобы все будущие библиотеки устанавливались с возмож-

ностью профилирования. Для этого необходимо отредактировать файл настроек программы cabal. Ищем

директори, в которой cabal хранит свои служебные файлы. Если вы пользуетесь Linux, то скорее всего это

скрытая директория .cabal в вашей домашней директории. Если вы пользуетесь Windows, положение ди-

ректории зависит от версии системы. Но ничего, узнать её положение можно, выполнив в ghci

Prelude> :m System.Directory

Prelude System.Directory>getAppUserDataDirectory ”cabal”

Присмотритесь к этой директории в ней вы найдёте много полезных данных. В ней находятся испол-

няемые программы, скомпилированные библиотеки, а также исходный код библиотек. В этой директории

находится и файл config с настройками для cabal. Ищем строчку с полем library -profiling : False. Меня-

ем значение на Trueи раскомментируем эту строчку, если она закомментирована. После этого cabal install

будет устанавливать библиотеки для профилирования. На первых порах это вызовет массу неудобств из-за

необходимости переустановки многих библиотек.

18.2 Создание документации с помощью Haddock

Если мы зайдём на Hackage, то там мы увидим длинный список пакетов, отсортированных по категориям.

К какой категории какой пакет относится мы указываем в .cabal-файле в атрибуте Category. Далее рядом с

именем пакета мы видим краткое описание, оно берётся из атрибута Synopsis. Если мы зайдём на страницу

одного из пакетов, то там мы увидим страницу в таком же формате, что и документация к стандартным

библиотекам. Мы видим описание пакета и ниже иерархию модулей. Мы можем зайти в заинтересовавший

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

к исходникам пакета.

“Домашняя страница” пакета была создана с помощью приложения Haddock. Оно генерирует документа-

цию в формате html по специальным комментариям. Haddockвстроен в cabal, например мы можем сделать

документацию к нашему пакету hello. Для этого нужно переключиться на корневую директорию пакета и

вызвать:

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

cabal haddock

После этого в директории dist появится директория doc, в которой внутри директории html находится

созданная документация. Мы можем открыть файл index .html и там мы увидим “иерархию нашего” модуля.

В модуле пока нет ни одной функции, так получилось потому, что Haddockпомещает в документацию лишь

те функции, у которых есть объявление типа. Если мы добавим в модуле Hello.hs: к единственной функции

объявление типа:

helloWorld :: String

helloWorld =hello ++”, ” ++world ++”!”

И теперь перезапустим haddock. То мы увидим, что в модуле Helloпоявилась одна запись.

Комментарии к определениям

Прокомментировать любое определение можно с помощью комментария следующего вида:

-- | Here is the comment

helloWorld :: String

helloWorld =hello ++”, ” ++world ++”!”

Обратите внимание на значок “или”, сразу после комментариев. Этот комментарий будет включен в

документацию. Также можно писать комментарии после определения для этого к комментарию добавляется

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

Интервал:

Закладка:

Сделать

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

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


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

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

x