[Haskell] ANN: Hoogle with more libraries

Neil Mitchell ndmitchell at gmail.com
Sun Dec 21 05:55:42 EST 2008


I am pleased to annouce that the Hoogle on http://haskell.org/hoogle
will now search lots of the libraries present on hackage. For example,
to search for the parse function in tagsoup, try:

"parse +tagsoup" (http://haskell.org/hoogle/?hoogle=parse+%2Btagsoup)

By default Hoogle will still search the default libraries it always
has (cabal, base etc.) but now, by doing +packagename, you can search
for any of the libraries listed at the bottom of this message. The
work of generating the necessary search databases was done by Gwern
Branwen, for which I am very grateful.

This is early work, and there are certain to be bugs. For example,
when searching a package String /= [Char], documentation might not
always be present, constructors containing functions might be a bit
iffy, not all packages are present, no executables are present, if you
mistype the +packagename it won't say anything. Hopefully these will
all be addressed over time.


At the moment Hoogle searches will default to the small set of
packages shipped with GHC. What should Hoogle default to? What
compound sets of packages should be defined? i.e. there will probably
be hlp which corresponds to all the Haskell Library Platform packages.
This is a community tool, and these sorts of decisions are ones for
the whole community. Otherwise by default you are likely to end up
searching uniplate, tagsoup, safe, filepath, proposition, homeomorphic
and binarydefer :-)


I can't currently recompile Hoogle, which is a bit of an issue! The
haskell.org server gives the error message "timer_create: Operation
not supported" on any relatively recent binaries created by GHC. I
need to be able to compile the hoogle executable and upload it so it
works. I used to do this using a copy of GHC 6.6.1 installed at York,
but that was recently removed (6.6.0 has a bug which crashes hoogle,
6.8+ makes use of timer_create). How easy is it to make the
haskell.org server support timer_create? How easy is it to generate
binaries that don't depend on it? Anyone any good advice?

Please direct any follow-ups to haskell-cafe@



The libraries currently supported by hoogle are:

adaptive aern-net alsa-midi ansi-terminal ansi-wl-pprint anydbm
applescript arff array arrows astar attoparsec autoproc avltree
base64-string benchpress bencode berkeleydbxml binary-search binary
bio bitset bitsyntax bktrees bloomfilter botpp brainfuck
bytestring-csv bytestring-mmap bytestring bytestringparser
bytestringreadp c-io cabal cabalrpmdeps carray cc-delcont
cgi-undecidable cgi change-monger chasingbottoms checked christmastree
chunks classify clevercss cmath codec-compression-lzf codec-libevent
colock colour compact-map condorcet containers control-monad-free
control-monad-omega control-timeout cordering coreerlang cpphs csv
ctemplate curl data-accessor-template data-accessor data-default
data-ivar data-memocombinators data-quotientref dataenc debian-binary
debugtracehelpers decimal delicious delimited-text diff dlist dotgen
download-curl download drhylo dsp edisonapi edisoncore edit-distance
editline eeconfig encode event-handlers event-list event-monad
explicit-exception extensible-exceptions external-sort fec feed ffeed
fgl fieldtrip filepath finance-quote-yahoo fingertree finitemap
fixpoint flickr flock formlets freesound ftgl fungen funsat
garsia-wachs geoip ghc-paths glfw-ogl glfw glob glut gmap gnuplot
googlechart graphics-drawingcombinators graphicsformats graphscc
graphviz gravatar grotetrap hacanon-light hake happs-ixset happs-util
harm harp haskeline haskeline.txt haskell-lexer haskell-src-exts
haskell-src haskell98 haxml haxml.txt hcl hcodecs heap hedi hexdump
hexpat hfov hgalib hgdbmi hgeometric highlighting-kate hinotify
hinstaller hjavascript hjs hjscript hledger hlongurl hmarkup hmeap
hmidi hmm homeomorphic hopenssl hosc hosc.txt hpc hpdf hsasa hsc3-dot
hsc3-unsafe hsc3 hsc3.txt hscolour hsconfigure hsemail hsh hshhelpers
hslogger hslua hsoundfile hsparrot hspr-sh hstats hstringtemplate
hstringtemplatehelpers hsx-xhtml html http-shed http http.txt
httpd-shed hunit hxt-filter hxt i18n icalendar iff ifs imlib
indentparser infinite-search infix infixapplicative interlude
io-reactive ipprint irc join json lazyarray lcs libmpd libxml
lispparser list-extras listlike listzipper logfloat logict lru lub
maccatcher main main.txt marked-pretty markov-chain maybet mediawiki
memotrie mersenne-random-pure64 mersenne-random microbench midi
mime-string mime mmap mmtl monad-loops monad-param monadlab
monadprompt monadrandom mps mtl-tf mtl mtlparse mucipher
multisetrewrite munkres n-m nano-md5 nanocurses nat network-dns
network-multicast network non-negative numbers numeric-prelude
numeric-quest obdd oeis old-locale old-time onetuple openal opengl
openglcheck opml packedstring parallel parport parse-dimacs parseargs
parsec parsec.txt parsedate parserfunction pcre-light peano-inf
penn-treebank phonetic-code pipe pkcs1 pngload polyparse popenhs porte
powermate pqc pretty prettyclass printf-mauke printf-th priority-queue
probability process property-list protocol-buffers-descriptor
protocol-buffers psqueue pure-fft puremd5 queue quickcheck
random-access-list random ranged-sets rangemin rbr rdtsc readline
refserialize regex-base regex-compat regex-pcre-builtin regex-pcre
regex-posix regexpr-symbolic regexpr regexqq reord rjson rmonad
rosezipper rss safe safecopy scgi sdl-image sdl-mixer sdl-ttf sdl
selenium setlocale shellac-compatline shellac-editline
shellac-readline shellac simple-reflect simpleargs smallcheck
smtpclient smtpclient.txt sphinx sqlite state stateref
statistics-fusion stb-image stemmer stm stmcontrol stmonadtrans
storable-complex stream stringsearch stringtable-atom suffixtree
supercollider-ht swf syb sybwidget system-inotify system-uuid tabular
taglib tagsoup-ht tagsoup tar tcache template-haskell template
terminfo terminfo.txt test-framework-hunit test-framework-quickcheck
th-fold thih thrist tttas typehash unamb unamb.txt unicode-names
unicode-normalization unicode-properties uniplate unix-compat
unix-pty-light unix unlambda uri-template url utf8-light utf8-prelude
utf8-string uulib uvector-algorithms value-supply vcard vty wave
wavesurfer whim witness wl-pprint workflow wurfl x11-extras x11-xft
xcb-types xhtml xml-parsec xml yampa yjtools zip-archive zipedit
zipfold zlib

More information about the Haskell mailing list