Overview
Bazel

Overview

Core Haskell rules

Rules

haskell_import
haskell_toolchain_library

Import packages that are prebuilt outside of Bazel.

Macros

haskell_binary

Build an executable from Haskell source.

haskell_test

Build a test suite.

haskell_library

Build a library from Haskell source.

Cabal packages

Rules

haskell_cabal_binary

Use Cabal to build a binary.

haskell_cabal_library

Use Cabal to build a library.

Macros

stack_snapshot

Use Stack to download and extract Cabal source distributions.

Haddock support

Rules

haskell_doc

Create API documentation.

Multi target Haskell REPL.

Rules

haskell_repl

Build a REPL for multiple targets.

Workspace rules (repositories)

Macros

rules_haskell_toolchains

Register GHC binary distributions for all platforms as toolchains.

rules_haskell_dependencies

Provide all repositories that are necessary for rules_haskell to function.

haskell_repositories

DEPRECATED alias for rules_haskell_dependencies

Workspace rules (GHC binary distributions)

Macros

ghc_bindist

Create a new repository from binary distributions of GHC. The repository exports two targets:

haskell_register_ghc_bindists

Register GHC binary distributions for all platforms as toolchains.

Workspace rules (Nixpkgs)

Macros

haskell_register_ghc_nixpkgs

Register a package from Nixpkgs as a toolchain.

GHC plugins

Rules

ghc_plugin

Declare a GHC plugin.

Macros

ghc_plugin_impl

Support for protocol buffers

Rules

haskell_proto_library

Generate Haskell library allowing to use protobuf definitions with help of proto-lens.

Macros

haskell_proto_toolchain

Declare a Haskell protobuf toolchain.

Support for c2hs

Rules

c2hs_library

Macros

c2hs_toolchain

Declare a Haskell c2hs toolchain.