Wednesday, August 31, 2011

Hoogle Command Line on Windows

The new upcoming version of EclipseFP will feature Hoogle integration, thanks to the work of Alejandro Serrano, so I was doing some testing on one of my Windows machine (yes, I'm a Haskell hacker and a Windows user, so what?)... No real problem using Hoogle via the command line, but since it does require some other things to be installed, I though I'd post them there for reference.

Unlike Cabal, Hoogle uses external tools for some of its operations. These tools are I'd say part of any self-respecting Unix distribution, but not of Windows. So you'll need:

wget: http://gnuwin32.sourceforge.net/packages/wget.htm
At time of writing, the download page is http://sourceforge.net/projects/gnuwin32/files/wget/1.11.4-1/wget-1.11.4-1-setup.exe/download

gzip: http://gnuwin32.sourceforge.net/packages/gzip.htm
At time of writing, the download page is http://sourceforge.net/projects/gnuwin32/files/gzip/1.3.12-1/gzip-1.3.12-1-setup.exe/download

tar: http://gnuwin32.sourceforge.net/packages/gtar.htm
At time of writing, the download page is http://sourceforge.net/projects/gnuwin32/files/tar/1.13-1/tar-1.13-1-bin.exe/download

Install everything in the same directory and put the bin subdirectory in your PATH. hoogle data should run fine.

Note also that since it's using wget, if you have an HTTP proxy you need to configure wget to use it (Cabal uses the internet explorer connection settings and finds the proxy settings from that). The files is etc\wgetrc in the directory you installed wget, find the http_proxy entry and adapt to your settings.

5 comments:

Neil Mitchell said...

Thanks for including those details for everyone. In the latest version of Hoogle it can use either wget or curl, and if it doesn't find a console app, it will give you a link to download it - which should help people.

Neil Mitchell said...

Note that these changes should be in 4.2.4 and above.

JP Moresmau said...

Oh yes, I should have pointed that in the blog entry. The messages provided are VERY helpful, it's just a bit frustrating to have to go and get each one, and then wonder why it doesn't work with a proxy...

Tyler Breisacher said...

Could you just use cygwin? I would think that would work as well because it would include all those things...

JP Moresmau said...

Yes, cygwin or MinGW, this kind of environments would provide you most of what you need. But if you don't have them...