Before contributing, please read this entire document.
This repository is used to discuss and keep track of proposals for the next
Haskell standard, in a process known as Haskell Prime. It is currently
intended to be used similar to Rust’s RFCs repo
_.
While the process is open for everyone to participate, contributing entirely new issues is currently limited to the members of the Core Language Committee.
.. contents:: Table of contents :local: :backlinks: none
.. _Rust’s RFCs repo: https://github.com/rust-lang/rfcs
The key idea of this process is making changes to the Haskell language, as
described in the Haskell Report
_. Here are some examples of RFCs a user might
want to discuss here:
Good:
LambdaCase
, a GHC extension to HaskellMonad
to have Applicative
as superclassfor_
to Prelude
Bad:
containers
(not part of
Haskell-the-language).. _Haskell Report: https://www.haskell.org/onlinereport/haskell2010/
0000-template.rst
to texts/0000-GOOD-NAME.rst
; do not assign a
number yet.. _Haskell Report Repo: https://github.com/haskell/haskell-report/
Successful proposals
Being successful means that a proposal may be implemented in the Haskell Report.
- The pull request is merged, giving the proposal an ID corresponding to the
pull request.
- The document is added to the `Active RFCs`_
- The proposal contents are ready to be implemented in the `Haskell Report
Repo`_.
- No one is appointed responsible for actually implementing the change, in
particular neither the shepherd nor the author of the proposal.
- Changes to the proposal are now impossble, a new proposal is the place for
this.
Unsuccessful proposals
The proposal is discarded without further action. This does not necessarily mean its ideas are never going to make it into Haskell, just that at this point it was decided not to continue the idea further. Example scenarios: