Programing

Haskell 오프라인 문서?

crosscheck 2020. 9. 2. 14:12
반응형

Haskell 오프라인 문서?


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

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


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

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 스레드 도 참조하십시오 .


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


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

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


It may not be "canonical" per se, but i believe that the most useful option is a docset software like dash(OS X)/zeal + generated docsets. This way you'll get the search for free and also will have an option to build your custom docsets. It's no problem to get the 'base' package haddock documentation with either of the projects out of the box. You can build custom docsets with haddocset or dash-haskell. Also it integrates nicely with emacs/vim/other editors, allows you to have project-based docsets(you'll have the relevant versions on a per-project basis this way, forget all this hassle with local hoogle!) and don't restrict you to any build flow you can have.

If you build your project with cabal-install you can set documentation: True in your ~/.cabal/config, then reinstall dependencies to get generated haddocks locally.

If you're using stack, you can utilize stack haddock command to build your dependencies and project with generated haddocks.


I use devdocs.io, it has docs for a lot of languages and libraries (including Haskell) and has an offline mode.


Velocity is a free and beautiful universal tool to do just that. It supports a wide range of languages, technologies and libraries, and one click updating.

You will probably be able to find more of what you are already using in its documentation list.


For Windows, install cygwin's wget and curl packages. That will enable hoogle data.


If you happen to be using a Debian derived distribution and their packages, then you will find the combined documentation of all installed Haskell packages (if you also install the libghc-foo-doc packages) at

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

Furthermore, the libghc-foo-doc packages contain the necessary files for hoogle, so if you apt-get install hoogle, then you should immediately be able to use hoogle to search through all libraries installed this way.

참고URL : https://stackoverflow.com/questions/9454793/haskell-offline-documentation

반응형