Jakie są możliwości uzyskania dokumentów offline dla podstawowych bibliotek Haskell (a może i więcej)?
Czasami zabieram laptopa do kawiarni, w której nie ma Wi-Fi, i fajnie byłoby mieć coś takiego jak Hoogle, ale do użytku offline.
źródło
Jakie są możliwości uzyskania dokumentów offline dla podstawowych bibliotek Haskell (a może i więcej)?
Czasami zabieram laptopa do kawiarni, w której nie ma Wi-Fi, i fajnie byłoby mieć coś takiego jak Hoogle, ale do użytku offline.
Hoogle jest dostępny w trybie offline, można go zainstalować z Cabal: http://hackage.haskell.org/package/hoogle
Instrukcje użytkowania znajdują się pod adresem http://www.haskell.org/haskellwiki/Hoogle#Command_Line_Search_Flags .
Stosowanie:
$ 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
Utwórz domyślną bazę danych za pomocą hoogle data
(więcej informacji na http://neilmitchell.blogspot.com/2008/08/hoogle-database-generation.html ).
EDYCJA: sesja użytkowania po lokalnej instalacji Hoogle:
$ hoogle
No query entered
Try --help for command line options
$ hoogle data
(downloads databases...takes a few minutes)
Wystąpił tutaj błąd ... najwyraźniej jest on związany z wersją Cabal, więc zaktualizowałem to (http://hackage.haskell.org/trac/hackage/ticket/811). To nie pomogło, więc uruchomiłem hoogle data all
, co anulowałem, ponieważ trwało to tak długo (wydaje się, że przechodzi przez każdą paczkę na Hackage). Nadal nie pozwalał na takie zapytanie, hoogle map
ale pozwalał hoogle map +base
(tj. Ograniczał wyszukiwanie do base
pakietu). Mam nadzieję, że zadziała!
EDIT2: Wydaje się, że rozwiązuje problem (dla mnie):
$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
documentation: True
do~/.cabal/config
pliku, a następnie ponownie instalując te pakiety zcabal install world --reinstall
.hoogle data --local
zajęło mi 3 minuty (z czego większość była pobierana). Mogę następnie uruchomić,hoogle foldl
która znajduje funkcję foldl, lubhoogle server --local
odwiedzić witrynę,http://localhost/
która jest zarówno pełnym serwerem, jak i zawiera linki do dokumentacji HTML.hoogle data all
ihoogle data --local
rób / pobieraj wiele rzeczy, ale nadal nie pozwala mi znaleźć funkcji w pakietach (npparseFileWithMode
.). Czy to ma zadziałać?hoogle +haskell-src-exts parseFile
hoogle server --local
potrzebuje większej widoczności. To analogon do npgodoc -http
.Dokumentację HTML można pobrać
.tar.bz2
ze strony internetowej Haskell:https://downloads.haskell.org/~ghc/latest/docs/
Właśnie pobrałem https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2 i właśnie tego oczekiwałem.
Istnieją również inne opcje, takie jak Dash i Zeal , a także zobacz ten wątek reddit .
źródło
hoogle server --local
Jeśli zainstalujesz platformę Haskell, będzie ona zawierała dokumentację GHC i dokumentację biblioteki GHC (która obejmuje podstawowe biblioteki). W systemie Windows znajdują się w menu Start pod „Wszystkie programy | Platforma Haskell”.
źródło
haskell-platform-doc
które można zainstalować.Edytuj swój plik ~ / .cabal / config. Poszukaj linii (prawdopodobnie zakomentowanej), która mówi
documentation: False
. Zmień tę linię nadocumentation: True
i usuń komentarz. Teraz, gdy budujesz projekty zcabal install
dokumentacją, będą również budowane i zapisywane lokalnie.Rozejrzyj się trochę więcej w tym samym pliku konfiguracyjnym, a znajdziesz opcje, takie jak plik indeksu doc, docdir, datadir, prefiks itp., Które pozwalają skonfigurować miejsce przechowywania dokumentacji.
źródło
Może nie być „kanoniczne” jako takie, ale uważam, że najbardziej użyteczną opcją jest oprogramowanie docset, takie jak dash (OS X) / gorliwość + generowane zestawy dokumentów. W ten sposób uzyskasz bezpłatne wyszukiwanie, a także będziesz mieć możliwość tworzenia niestandardowych zestawów dokumentów. Nie ma problemu, aby pobrać dokumentację plamiaka z pakietu „bazowego” z którymkolwiek z projektów po wyjęciu z pudełka. Możesz tworzyć niestandardowe zestawy dokumentów za pomocą haddocset lub dash-haskell . Również ładnie integruje się z emacs / vim / innymi edytorami, pozwala na tworzenie dokumentów opartych na projektach (w ten sposób będziesz mieć odpowiednie wersje dla poszczególnych projektów, zapomnij o wszystkich kłopotach z lokalnym hoogle!) I nie ogranicza Cię do dowolnego przepływu kompilacji, jaki możesz mieć.
Jeśli budujesz swój projekt
cabal-install
, możesz ustawićdocumentation: True
w swoim~/.cabal/config
, a następnie ponownie zainstalować zależności, aby lokalnie wygenerować plamiak.Jeśli używasz stosu , możesz użyć
stack haddock
polecenia, aby zbudować swoje zależności i projekt z wygenerowanymi plamiakami.źródło
Używam devdocs.io , ma dokumenty dla wielu języków i bibliotek (w tym Haskell) i ma tryb offline.
źródło
Velocity to darmowe i piękne, uniwersalne narzędzie, które to robi. Obsługuje szeroką gamę języków, technologii i bibliotek oraz aktualizację jednym kliknięciem.
Prawdopodobnie będziesz w stanie znaleźć więcej tego, czego już używasz na liście dokumentacji.
źródło
W systemie Windows zainstaluj pakiety wget i curl cygwin. To umożliwi
hoogle data
.źródło
Jeśli używasz dystrybucji wywodzącej się z Debiana i ich pakietów, połączoną dokumentację wszystkich zainstalowanych pakietów Haskell (jeśli instalujesz również
libghc-foo-doc
pakiety) znajdziesz nafile:///usr/share/doc/ghc-doc/html/libraries/index.html
Ponadto
libghc-foo-doc
pakiety zawierają niezbędne pliki dla hoogle, więc jeśli tyapt-get install hoogle
, powinieneś natychmiast móc użyćhoogle
do przeszukiwania wszystkich zainstalowanych w ten sposób bibliotek.źródło