Overview
Bazel

Overview

Core Haskell rules

ghc_plugin Declare a GHC plugin.
haskell_doc Create API documentation.
haskell_import Internal rule. Do not use.
haskell_toolchain_library Import prebuilt libraries supplied by the toolchain.
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_repl Build a REPL for multiple targets.
haskell_runfiles Convenience wrapper around rules_haskell runfiles library.
haskell_test Build a test suite.
haskell_toolchain Declare a compiler toolchain.
make_repl_kwargs Create extra attributes for the auto-generated haskell_repl target.
haskell_doc_aspect
haskell_repl_aspect Haskell REPL aspect.

Rules for defining toolchains

get_cc_toolchain
get_haskell_toolchain
get_nodejs_toolchain
get_posix_toolchain
get_cc_toolchain_impl
get_haskell_toolchain_impl
get_nodejs_toolchain_impl
get_posix_toolchain_impl
haskell_toolchain Declare a compiler toolchain.
rules_haskell_toolchains Register GHC binary distributions for all platforms as toolchains.

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.
use_stack Force given stack binary in all invocations of stack_snapshot.

Workspace rules (repositories)

haskell_repositories Alias for rules_haskell_dependencies
rules_haskell_dependencies Provide all repositories that are necessary for rules_haskell to function.
rules_haskell_dependencies_bzlmod Provide rules_haskell dependencies which are not available as bzlmod modules.

Workspace rules (GHC binary distributions)

bindist_info_for_version
configure_python3_toolchain Autoconfigure python3 toolchain for GHC bindist
ghc_bindist Create a new repository from binary distributions of GHC.
ghc_bindist_toolchain_declaration
ghc_bindists_toolchain_declarations
haskell_register_ghc_bindists Register GHC binary distributions for all platforms as toolchains.

Workspace rules (Nixpkgs)

check_ghc_version
ghc_nixpkgs_toolchain_declaration
haskell_register_ghc_nixpkgs Register a package from Nixpkgs as a toolchain.
register_ghc_from_nixpkgs_package Register a pre-existing 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_library Process c2hs source into a Haskell module.
c2hs_toolchain Declare a Haskell c2hs toolchain.