scrod: Worse Haskell documentation

[ documentation, library, program ] [ Propose Tags ] [ Report a vulnerability ]

Scrod generates documentation for Haskell modules, similar to Haddock. Unlike Haddock, it only parses the input rather than requiring a full build. This makes it faster but less accurate.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Flags

Manual Flags

NameDescriptionDefault
pedanticDisabled
wasmDisabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.2026.2.21
Change log CHANGELOG.md
Dependencies base (>=4.22.0 && <4.23), bytestring (>=0.12.2 && <0.13), Cabal-syntax (>=3.16.0 && <3.17), containers (>=0.8 && <0.9), exceptions (>=0.10.11 && <0.11), ghc (>=9.14.1 && <9.15), ghc-boot-th (>=9.14.1 && <9.15), ghc-experimental (>=9.1401.0 && <9.1402), haddock-library (>=1.11.0 && <1.12), parsec (>=3.1.18 && <3.2), scrod, template-haskell (>=2.24.0 && <2.25), text (>=2.1.3 && <2.2), transformers (>=0.6.1 && <0.7) [details]
License 0BSD
Author
Maintainer Taylor Fausak
Uploaded by fozworth at 2026-02-22T00:46:45Z
Category Documentation
Home page https://scrod.fyi
Source repo head: git clone https://github.com/tfausak/scrod
Distributions
Executables scrod-wasi, scrod-wasm, scrod
Downloads 0 total (0 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for scrod-0.2026.2.21

[back to package description]

Scrod

CI

🐟 Worse Haskell documentation.

Summary

Scrod is a documentation generator for Haskell modules, similar to Haddock.

  • Produces JSON or HTML output
  • Supports Literate Haskell (Bird and LaTeX style), Backpack signatures, and CPP
  • Uses GHC and Haddock (the library) behind the scenes
  • Only parses the module; it doesn't rename or type check, so it's fast but limited

You can try it out in the browser at scrod.fyi.

Installation

Download the latest release from GitHub Releases. Each release includes:

Asset Description
scrod-*-linux.tar.gz Linux binary
scrod-*-darwin.tar.gz macOS binary
scrod-*-win32.tar.gz Windows binary
scrod-*.vsix VSCode extension for live documentation preview
scrod-*-wasm.tar.gz WASM build (for use in browsers)
scrod-*-wasi.tar.gz WASI build (for use with runtimes like Wasmtime)
scrod-*-schema.json JSON schema for the JSON output format
scrod-*.tar.gz Source tarball

Or build from source with GHC 9.14 and Cabal:

cabal install scrod

Usage

Scrod reads from stdin and writes to stdout:

scrod < MyModule.hs                # JSON output (default)
scrod --format html < MyModule.hs  # HTML output

Options

$ scrod --help
scrod version 0.2026.2.18
<https://scrod.fyi>

  -h[BOOL]  --help[=BOOL]           Shows the help.
            --version[=BOOL]        Shows the version.
            --format=FORMAT         Sets the output format (json or html).
            --ghc-option=OPTION     Sets a GHC option (e.g. -XOverloadedStrings).
            --literate[=BOOL]       Treats the input as Literate Haskell.
            --schema[=BOOL]         Shows the JSON output schema.
            --signature[=BOOL]      Treats the input as a Backpack signature.
  • -h, --help: Prints the help then exits.
  • --version: Prints the version then exits.
  • --format: Sets the output format. Either json (the default) or html.
  • --ghc-option: Passes an option to the GHC parser (e.g. -XOverloadedStrings). Can be given multiple times.
  • --literate: Treats the input as literate Haskell, either Bird or LaTeX style.
  • --schema: Prints the JSON output schema then exits.
  • --signature: Treats the input as a Backpack signature.

Boolean flags accept an optional =BOOL argument (True or False). Without the argument, the flag is set to True. This lets you override earlier flags, e.g. --literate --literate=False.