about summary refs log blame commit diff
path: root/third_party/bazel/rules_haskell/ROADMAP.md
blob: 4e234bddb1cb9eda744458bd6d480481a37af450 (plain) (tree)














































                                                                      
# Feature roadmap

In the following list, each feature is associated with a corresponding
milestone. The convention for the priorities are:

* P0 feature will block the milestone; we will delay the milestone
  date until the feature is shipped.
* P1 feature can delay the milestone if the feature can be shipped
  with a reasonable delay.
* P2 feature will be dropped and rescheduled for later rather than
  delaying the milestone.

We will update this list when reaching each milestone. Some milestones
may also be refined if appropriate.

## Planned feature list

### 1.0

* P1. Backpack support.
* P2. Define official GHC bindists as toolchains for each Tier-1
  platform.
* P2. Define cross-compiler toolchains.
* P2. Support multiple build flavours: fastbuild, opt, dbg/profiling.

## Previous milestones

### Initial support

* P0. Ensure legalese is in place from the beginning to make project
  upstreamable to official `bazelbuild` org eventually.
* P0. `haskell_library` able to compile single file library.
* P0. `haskell_binary` able to compile single file binary.
* P1. Basic binary build with a library dependency.
* P2. Transitive library dependencies.
* P2. Basic documentation with rule descriptions.

### Build and test inline-java

* P0. Can build and run inline-java spec and jvm-streaming spec.
* P0. Can use inline-java packages as dependencies in bigger product
  (sparkle).

### Build and test sparkle

* P0. Able to build sparkle executable. This includes building all
  relevant Java.