Core Haskell rules

ghc_plugin Declare a GHC plugin.
haskell_doc Create API documentation.
haskell_repl Build a REPL for multiple targets.
haskell_toolchain_library Import packages that are prebuilt outside of Bazel.
haskell_binary Build an executable from Haskell source.
haskell_library Build a library from Haskell source.
haskell_register_toolchains Register GHC binary distributions for all platforms as toolchains.
haskell_test Build a test suite.
haskell_toolchain Declare a compiler toolchain.
haskell_repl_aspect Haskell REPL aspect.

Cabal packages

haskell_cabal_binary Use Cabal to build a binary.
haskell_cabal_library Use Cabal to build a library.
stack_snapshot Use Stack to download and extract Cabal source distributions.

Workspace rules (repositories)

haskell_repositories Alias for rules_haskell_dependencies
rules_haskell_dependencies Provide all repositories that are necessary for rules_haskell to function.

Workspace rules (GHC binary distributions)

ghc_bindist Create a new repository from binary distributions of GHC.
haskell_register_ghc_bindists Register GHC binary distributions for all platforms as toolchains.

Workspace rules (Nixpkgs)

haskell_register_ghc_nixpkgs Register a package from Nixpkgs as a toolchain.

Support for protocol buffers

haskell_proto_library Generate Haskell library allowing to use protobuf definitions.
haskell_proto_toolchain Declare a Haskell protobuf toolchain.

Support for c2hs

c2hs_toolchain Declare a Haskell c2hs toolchain.