{"id":189271,"name":"haddock","ecosystem":"hackage","description":"This is Haddock, a tool for automatically generating documentation\nfrom annotated Haskell source code. It is primary intended for documenting\nlibrary interfaces, but it should be useful for any kind of Haskell code.\n.\nHaddock lets you write documentation annotations next to the definitions of\nfunctions and types in the source code, in a syntax that is easy on the eye\nwhen writing the source code (no heavyweight mark-up).\n.\nHaddock understands Haskell's module system, so you can structure your code\nhowever you like without worrying that internal structure will be exposed in\nthe generated documentation. For example, it is common to implement a library\nin several modules, but define the external API by having a single module\nwhich re-exports parts of these implementation modules. Using Haddock, you can\nstill write documentation annotations next to the actual definitions of the\nfunctions and types in the library, but the documentation annotations from the\nimplementation will be propagated to the external API when the documentation is\ngenerated. Abstract types and classes are handled correctly. In fact, even\nwithout any documentation annotations, Haddock can generate useful documentation\nfrom your source code.\n.\nDocumentation for the haddock binary is available at readthedocs.\n.\n","homepage":"http://www.haskell.org/haddock/","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"","keywords_array":["bsd3","documentation","program","Propose Tags"],"namespace":null,"versions_count":59,"first_release_published_at":"2006-11-03T15:06:42.000Z","latest_release_published_at":"2023-09-22T14:16:50.000Z","latest_release_number":"2.29.1","last_synced_at":"2026-05-12T12:44:23.612Z","created_at":"2022-04-05T20:39:48.310Z","updated_at":"2026-05-12T15:15:01.034Z","registry_url":"https://hackage.haskell.org/package/haddock","install_command":"cabal install haddock","documentation_url":null,"metadata":{},"repo_metadata":{},"repo_metadata_updated_at":"2026-05-12T15:15:01.008Z","dependent_packages_count":2,"downloads":94044,"downloads_period":"total","dependent_repos_count":22,"rankings":{"downloads":1.4749929358575868,"dependent_repos_count":11.404351511726476,"dependent_packages_count":7.171517377790336,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":6.683620608458132},"purl":"pkg:hackage/haddock","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/hackage/haddock","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/hackage/haddock","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/hackage/haddock/dependencies","status":null,"funding_links":[],"critical":false,"issue_metadata":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/packages/haddock/codemeta","maintainers":[{"uuid":"HerbertValerioRiedel","login":"HerbertValerioRiedel","name":null,"email":null,"url":null,"packages_count":140,"html_url":"https://hackage.haskell.org/user/HerbertValerioRiedel","role":null,"created_at":"2022-11-14T18:06:50.535Z","updated_at":"2022-11-14T18:06:50.535Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/HerbertValerioRiedel/packages"},{"uuid":"BenGamari","login":"BenGamari","name":null,"email":null,"url":null,"packages_count":84,"html_url":"https://hackage.haskell.org/user/BenGamari","role":null,"created_at":"2022-11-14T18:06:50.465Z","updated_at":"2022-11-14T18:06:50.465Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/BenGamari/packages"},{"uuid":"SimonHengel","login":"SimonHengel","name":null,"email":null,"url":null,"packages_count":60,"html_url":"https://hackage.haskell.org/user/SimonHengel","role":null,"created_at":"2022-11-14T18:06:50.576Z","updated_at":"2022-11-14T18:06:50.576Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/SimonHengel/packages"},{"uuid":"MateuszKowalczyk","login":"MateuszKowalczyk","name":null,"email":null,"url":null,"packages_count":34,"html_url":"https://hackage.haskell.org/user/MateuszKowalczyk","role":null,"created_at":"2022-11-14T18:06:50.552Z","updated_at":"2022-11-14T18:06:50.552Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/MateuszKowalczyk/packages"},{"uuid":"SimonMarlow","login":"SimonMarlow","name":null,"email":null,"url":null,"packages_count":31,"html_url":"https://hackage.haskell.org/user/SimonMarlow","role":null,"created_at":"2022-11-14T18:06:50.612Z","updated_at":"2022-11-14T18:06:50.612Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/SimonMarlow/packages"},{"uuid":"wz1000","login":"wz1000","name":null,"email":null,"url":null,"packages_count":34,"html_url":"https://hackage.haskell.org/user/wz1000","role":null,"created_at":"2024-06-26T09:41:17.320Z","updated_at":"2024-06-26T09:41:17.320Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/wz1000/packages"},{"uuid":"hecate","login":"hecate","name":null,"email":null,"url":null,"packages_count":53,"html_url":"https://hackage.haskell.org/user/hecate","role":null,"created_at":"2022-11-14T18:06:50.886Z","updated_at":"2022-11-14T18:06:50.886Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/hecate/packages"},{"uuid":"DavidWaern","login":"DavidWaern","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://hackage.haskell.org/user/DavidWaern","role":null,"created_at":"2022-11-14T18:06:50.473Z","updated_at":"2022-11-14T18:06:50.473Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/DavidWaern/packages"},{"uuid":"alexbiehl","login":"alexbiehl","name":null,"email":null,"url":null,"packages_count":10,"html_url":"https://hackage.haskell.org/user/alexbiehl","role":null,"created_at":"2022-11-14T18:06:50.666Z","updated_at":"2022-11-14T18:06:50.666Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/alexbiehl/packages"},{"uuid":"Helkafen","login":"Helkafen","name":null,"email":null,"url":null,"packages_count":6,"html_url":"https://hackage.haskell.org/user/Helkafen","role":null,"created_at":"2022-11-14T18:06:50.746Z","updated_at":"2022-11-14T18:06:50.746Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/Helkafen/packages"},{"uuid":"harpocrates","login":"harpocrates","name":null,"email":null,"url":null,"packages_count":5,"html_url":"https://hackage.haskell.org/user/harpocrates","role":null,"created_at":"2022-11-14T18:06:50.780Z","updated_at":"2022-11-14T18:06:50.780Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/hackage.haskell.org/maintainers/harpocrates/packages"}]}