Haskell 오프라인 문서?


94

Haskell 핵심 라이브러리 (또는 그 이상)에 대한 오프라인 문서를 얻을 수있는 가능성은 무엇입니까?

때로는 Wi-Fi가없는 커피 숍에 노트북을 가져 가고 , Hoogle 과 같은 것을 오프라인에서 사용하는 것이 좋을 것 입니다.

답변:


53

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너무 오래 걸리기 때문에 취소했습니다 (Hacksage의 모든 패키지를 통과하는 것 같습니다). 그것은 여전히 같은 쿼리를 허용하지 않을 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

15
당신은 또한 아마 추가하여 설치된 패키지에 대한 문서를 사용하려는 documentation: True사용자에게 ~/.cabal/config파일을 다음과 패키지를 다시 설치 cabal install world --reinstall.
hammar

2
hoogle data --local저 3 분 (대부분의 다운로드가되었다) 그때 실행했다 hoogle foldlfoldl 기능을 발견하는, 또는 hoogle server --local다음 방문 http://localhost/모두 전체 서버 인 는 HTML 문서에 대한 링크가 포함되어 있습니다.
Neil Mitchell

1
@NeilMitchell을 사용 hoogle data all하고 hoogle data --local많은 작업을 수행 / 다운로드하지만 여전히 패키지에서 함수를 찾을 수 없습니다 (예 :) parseFileWithMode. 작동해야하나요?
nh2 2012-08-22

1
@ NH2 : 기본 Hoogle는 플랫폼을 검색하여 시도hoogle +haskell-src-exts parseFile
닐 미첼

1
hoogle server --local더 많은 가시성이 필요합니다. 예를 들면 godoc -http.
sjakobi

21

HTML 문서는 .tar.bz2Haskell 웹 사이트에서 다운로드 할 수 있습니다 .

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

방금 https://www.haskell.org/ghc/docs/7.6.3/libraries.html.tar.bz2를 다운로드 했고 정확히 제가 바랬던 것입니다.

Dash 및 Zeal과 같은 다른 옵션 도 있으며 reddit 스레드 도 참조하십시오 .


최신이 아닌 답변 :( 첫 번째 링크가 끊어진 것 같습니다.
MaiaVictor

거기는. 감사합니다!
MaiaVictor 2015 년

그것은 저에게 가장 좋은 대답입니다.으로 목적을 달성 할 수 없었기 때문에hoogle server --local
user24601

14

Haskell Platform을 설치하면 GHC 문서와 GHC 라이브러리 문서 (핵심 라이브러리 포함)가 포함됩니다. Windows에서는 "모든 프로그램 | Haskell 플랫폼"의 시작 메뉴에 있습니다.


알아서 반가워요. 리눅스에 이와 비슷한 것이 있습니까?
Andriy Drozdyuk 2012

Haskell Platform은 다른 OS에서 거의 동일해야한다고 생각하지만 Linux에서는 사용한 적이 없습니다. 설치되어 있다면 "Data-Binary.html"(Data.Binary에 대한 문서) 파일을 검색하여 문서가 어딘가에 설치되었는지 확인할 수 있습니다.
arx

4
@drozzy : Debian / Ubuntu에는 haskell-platform-doc설치할 수 있는 문서 패키지가 있다고 생각 합니다.
li.davidm

내가 좋은 답변으로 이것을 고려하지 않는 게 좋을하므로, 하스켈 플랫폼은 더 이상 유지되지 않고 항상 구식이되었다
dredozubov

1
@dredozubov 출처? 미래에 유지되지 않는 것에 대해서는 아무것도 찾을 수 없습니다.
Andriy Drozdyuk

10

~ / .cabal / config 파일을 편집하십시오. 라는 줄 (아마 주석 처리됨)을 찾습니다 documentation: False. 해당 줄을로 변경 documentation: True하고 주석 처리를 제거하십시오. 이제 cabal install문서로 프로젝트를 빌드 할 때 로컬로 빌드되고 저장됩니다.

동일한 구성 파일에서 조금 더 살펴보면 문서가 저장되는 위치를 구성 할 수있는 doc-index-file, docdir, datadir, prefix 등과 같은 옵션을 찾을 수 있습니다.


5

그 자체로는 "표준 적"이 아닐 수도 있지만 가장 유용한 옵션은 대시 (OS X) / 열성 + 생성 된 문서 집합과 같은 문서 집합 소프트웨어라고 생각합니다 . 이렇게하면 무료로 검색 할 수 있으며 맞춤형 문서 세트를 구축 할 수있는 옵션도 제공됩니다. 두 프로젝트 중 하나를 즉시 사용하여 '기본'패키지 해독 문서를 얻는 것은 문제가되지 않습니다. haddocset 또는 dash-haskell을 사용하여 사용자 지정 문서 집합을 만들 수 있습니다 . 또한 emacs / vim / 다른 편집기와 잘 통합되어 프로젝트 기반 문서 세트를 가질 수 있습니다. 가질 수있는 모든 빌드 흐름으로 제한합니다.

로 프로젝트를 빌드하는 경우 에서 cabal-install설정할 수 있으며 종속성을 다시 설치하여 생성 된 haddocks를 로컬로 가져올 수 있습니다.documentation: True~/.cabal/config

stack을 사용하는 경우 stack haddock명령을 사용하여 생성 된 haddocks로 종속성 및 프로젝트를 빌드 할 수 있습니다 .


3

나는 devdocs.io를 사용 하고 많은 언어와 라이브러리 (Haskell 포함)에 대한 문서를 가지고 있으며 오프라인 모드를 가지고 있습니다.


1

Velocity 는이를위한 자유롭고 아름다운 범용 도구입니다. 광범위한 언어, 기술 및 라이브러리를 지원하고 한 번의 클릭으로 업데이트합니다.

문서 목록에서 이미 사용중인 항목을 더 많이 찾을 수있을 것입니다.


1

Windows의 경우 cygwin의 wget 및 curl 패키지를 설치하십시오. 그러면 hoogle data.


0

데비안에서 파생 된 배포판과 그 패키지를 사용하는 경우 설치된 모든 Haskell 패키지 ( libghc-foo-doc패키지를 설치 한 경우)의 결합 된 문서는 다음 위치에서 찾을 수 있습니다 .

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

또한 libghc-foo-doc패키지에는 hoogle에 필요한 파일이 포함되어 있으므로이 방법으로 설치된 모든 라이브러리를 검색 apt-get install hoogle하는 hoogle데 즉시 사용할 수 있어야합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.