Автономная документация на Haskell? - PullRequest
92 голосов
/ 26 февраля 2012

Каковы возможности, если таковые имеются, для получения автономных документов для основных библиотек Haskell (и, возможно, больше)?

Иногда я беру свой ноутбук в кафе, где нет Wi-Fi, и было бы неплохо иметь что-то вроде Hoogle , но для автономного использования.

Ответы [ 9 ]

50 голосов
/ 26 февраля 2012

Hoogle доступен в автономном режиме, устанавливается из Cabal: http://hackage.haskell.org/package/hoogle

Инструкции по использованию: http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags.

Использование:

$ hoogle --help
Hoogle v4.2.8, (C) Neil Mitchell 2004-2011
http://haskell.org/hoogle

hoogle [COMMAND] ... [OPTIONS]

Commands:
  [search]  Perform a search
  data      Generate Hoogle databases
  server    Start a Hoogle server
  combine   Combine multiple databases into one
  convert   Convert an input file to a database
  test      Run tests
  dump      Dump sections of a database to stdout
  rank      Generate ranking information
  log       Analyse log files

Common flags:
  -? --help     Display help message
  -V --version  Print version information
  -v --verbose  Loud verbosity
  -q --quiet    Quiet verbosity

Создание базы данных по умолчанию сhoogle data (дополнительная информация на http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html).

РЕДАКТИРОВАТЬ: сеанс использования после локальной установки Hoogle:

$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)

Я столкнулся с ошибкой здесь ... по-видимому, это связано сверсия Cabal, поэтому я обновил ее (http://hackage.haskell.org/trac/hackage/ticket/811). Это не помогло, поэтому я запустил hoogle data all, который я отменил, так как он занимал так много времени (кажется, проходит через все пакеты в Hackage).не разрешить запрос, подобный hoogle map, но разрешил hoogle map +base (т. е. ограничить поиск пакетом base). Надеюсь, он работает для вас!

EDIT2: похоже, это решает проблему (для меня):

$cd .cabal/share/hoogle-4.2.8/databases
$hoogle combine base.hoo
$hoogle foldl\'
Data.List foldl' :: (a -> b -> a) -> a -> [b] -> a
Data.Foldable foldl' :: Foldable t => (a -> b -> a) -> a -> t b -> a
20 голосов
/ 07 мая 2013

Документацию HTML можно загрузить как .tar.bz2 с веб-сайта Haskell:

https://downloads.haskell.org/~ghc/latest/docs/

Я только что скачал https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 и это именно то, на что я надеялся.

Существуют также другие опции, , такие как Dash and Zeal , и также смотрите этот реддитный поток .

14 голосов
/ 26 февраля 2012

Если вы устанавливаете платформу Haskell, она включает в себя документы GHC и документы библиотеки GHC (которые охватывают основные библиотеки).В Windows они находятся в меню «Пуск» в разделе «Все программы | Платформа Haskell».

10 голосов
/ 16 марта 2012

Отредактируйте ваш файл ~ / .cabal / config. Ищите строку (вероятно, закомментированную), которая говорит documentation: False. Измените эту строку на documentation: True и раскомментируйте ее. Теперь при сборке проектов с cabal install документация также будет создаваться и сохраняться локально.

Посмотрите немного больше в этом же файле конфигурации, и вы найдете такие опции, как doc-index-file, docdir, datadir, prefix и т. Д., Которые позволяют вам указать, где хранится документация.

5 голосов
/ 28 октября 2015

Это не может быть "каноническим" само по себе, но я считаю, что наиболее полезным вариантом является программное обеспечение для набора документов, такое как тире (OS X) / рвение + сгенерированные наборы документов.Таким образом, вы получите бесплатный поиск, а также сможете создать свой собственный набор документов.Нет проблем получить документацию по базовому пакету с любым из проектов из коробки.Вы можете создавать собственные наборы документов с помощью haddocset или dash-haskell .Кроме того, он прекрасно интегрируется с редакторами emacs / vim / other, позволяет вам иметь основанные на проекте наборы документов (таким образом, у вас будут соответствующие версии для каждого проекта, забудьте обо всех этих хлопотах с локальным hoogle!) И неограничить вас любым потоком сборки, который у вас есть.

Если вы строите свой проект с помощью cabal-install, вы можете установить documentation: True в своем ~/.cabal/config, а затем переустановить зависимости, чтобы получить сгенерированные пикши локально.

Если вы используете stack , вы можете использовать команду stack haddock, чтобы построить свои зависимости и спроектировать сгенерированные пикши.

3 голосов
/ 09 ноября 2015

Я использую devdocs.io , он имеет документы для многих языков и библиотек (включая Haskell) и имеет автономный режим.

1 голос
/ 29 октября 2015

Для Windows установите пакеты cygwin wget и curl.Это позволит hoogle data.

1 голос
/ 29 октября 2015

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

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

0 голосов
/ 26 октября 2015

Если вы используете производный дистрибутив Debian и его пакеты, то вы найдете объединенную документацию всех установленных пакетов Haskell (если вы также устанавливаете libghc-foo-doc пакеты) на

file:///usr/share/doc/ghc-doc/html/libraries/index.html

Кроме того, пакеты libghc-foo-doc содержат необходимые файлы для hoogle, поэтому, если вы apt-get install hoogle, вы сразу же сможете использовать hoogle для поиска по всем библиотекам, установленным таким образом.

...