# Hoogle

> Haskell API search engine

**Wikidata**: [Q124711643](https://www.wikidata.org/wiki/Q124711643)  
**Source**: https://4ort.xyz/entity/hoogle

## Summary
Hoogle is a free software search engine specifically designed for searching the Haskell Application Programming Interface (API). It allows users to find functions and libraries within the Haskell ecosystem via a web interface or local installation. The tool is licensed under the 3-clause BSD License and is widely available across various operating system distributions.

## Key Facts
- **Entity Type:** Haskell API search engine and free software.
- **License:** 3-clause BSD License.
- **Latest Stable Version:** 5.0.18.4 (released January 14, 2024).
- **Website:** https://hoogle.haskell.org/
- **Source Code Repository:** https://github.com/ndmitchell/hoogle
- **Aliases:** haskell-hoogle, hs-hoogle.
- **Operating System:** BSD (among others).
- **User Manual:** Available at the Haskell Wiki (https://wiki.haskell.org/Hoogle).
- **Package Availability:** Available in Debian (as `haskell-hoogle`), Ubuntu (as `hoogle`), FreeBSD (as `devel/hs-hoogle`), and Guix (as `hoogle`).
- **Programming Language:** Haskell.

## FAQs
### Q: What is Hoogle used for?
A: Hoogle is a search engine used to find functions and packages within the Haskell API. It allows developers to search by function name or type signature to locate relevant library documentation.

### Q: Is Hoogle free to use?
A: Yes, Hoogle is classified as free software. It is distributed under the terms of the 3-clause BSD License, allowing users to run, study, change, and distribute it.

### Q: Where can the source code for Hoogle be found?
A: The source code for Hoogle is hosted on GitHub at https://github.com/ndmitchell/hoogle. Issues and development activity are tracked there.

### Q: How can I install Hoogle on Linux?
A: Hoogle is available through standard package managers. On Ubuntu, the package is named `hoogle` (or `libghc-hoogle-dev`), and on Debian, the source package is `haskell-hoogle`. It is also available via the Guix package manager as `hoogle`.

## Why It Matters
Hoogle plays a significant role in the Haskell development ecosystem by providing a specialized tool for navigating the language's extensive libraries. Unlike general-purpose search engines, Hoogle is tailored to the specific syntax and structure of Haskell, enabling efficient discovery of API functionalities. Its status as free software under the permissive 3-clause BSD License encourages adoption and modification by the community.

The tool's relevance is reinforced by its broad availability across major open-source operating systems, including Ubuntu, Debian, FreeBSD, and Guix. This ubiquity ensures that developers can easily integrate Hoogle into their local development environments. Furthermore, the project is actively maintained, with the stable version 5.0.18.4 released in early 2024, demonstrating ongoing commitment to the tool's utility and reliability. By bridging the gap between documentation and code, Hoogle remains an essential utility for both novice and expert Haskell programmers.

## Notable For
- **Specialized Search:** distinct capability to search Haskell APIs by name and type signature.
- **Broad Distribution:** inclusion in major software repositories including Debian, Ubuntu, FreeBSD, Hackage, and GNU Guix.
- **Open Source Licensing:** distribution under the permissive 3-clause BSD License.
- **Active Maintenance:** recent stable release (v5.0.18.4) as of January 2024.
- **Multi-Platform Support:** availability on Unix-like operating systems such as BSD and various Linux distributions.

## Body

### Overview and Classification
Hoogle is a search engine designed specifically for the Haskell programming language API. It is formally classified as an instance of both a search engine and free software. The project is also known by the aliases `haskell-hoogle` and `hs-hoogle`. It serves as a critical tool for developers needing to locate functions and types within the Haskell standard libraries and third-party packages.

### Technical Specifications and Development
The project is written in Haskell (referenced as Q34010). The current stable version is **5.0.18.4**, which was released on **January 14, 2024**. The source code is publicly accessible and maintained by Neil Mitchell (ndmitchell) on GitHub. Development transparency is provided via a public issue tracker located at `https://github.com/ndmitchell/hoogle/issues`.

The software is copyrighted but distributed freely under the **3-clause BSD License**. This licensing allows for wide redistribution and modification, provided the copyright terms are met.

### Availability and Distribution
Hoogle is accessible to end-users via its primary website at `https://hoogle.haskell.org/`. For developers wishing to run the tool locally, it is distributed through several major software channels:

*   **Debian:** Available as the source package `haskell-hoogle` (active since at least April 5, 2013).
*   **Ubuntu:** Distributed under the package names `hoogle`, `libghc-hoogle-dev`, `libghc-hoogle-doc`, and `libghc-hoogle-prof`.
*   **FreeBSD:** Available via the ports system as `devel/hs-hoogle`.
*   **Hackage:** The central package archive for Haskell lists the package as `hoogle`.
*   **GNU Guix:** Available via the variable name `hoogle`.

Documentation and user guides are maintained on the Haskell Wiki at `https://wiki.haskell.org/Hoogle`. The software is designed to run on Unix-like operating systems, specifically noted as supporting BSD.

## References

1. [Source](https://metadata.ftp-master.debian.org/changelogs//main/h/haskell-hoogle/haskell-hoogle_5.0.17.3+dfsg1-5_copyright)
2. [Release 5.0.18.4. 2024](https://github.com/ndmitchell/hoogle/releases/tag/v5.0.18.4)