GithubHelp home page GithubHelp logo

mpickering / ghc-proposals Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ghc-megacorp/ghc-proposals

1.0 3.0 0.0 2.41 MB

Proposed compiler and language changes for GHC and GHC/Haskell

Home Page: http://www.haskell.org/ghc

ghc-proposals's Introduction

GHC Haskell proposals

Note

Currently the process that goes along with this repository is itself in the proposal stage. See the first proposal, Pull Request #1, for details.

This repository contains specifications for proposed changes to the Glasgow Haskell Compiler.

What is a proposal?

A GHC Proposal is a document describing a proposed change to the compiler, the GHC/Haskell language, or the libraries in the GHC.* module namespace. These include,

  • A syntactic change to GHC/Haskell (e.g. the various ShortImports proposals, do expressions without $)
  • A major change to the user-visible behaviour of the compiler (e.g. the recent change in super-class solving, and -Wall behavior)
  • The addition of major features to the compiler (e.g. -XTypeInType, GHCi commands, type-indexed Typeable representations)

How do I comment on a proposal?

Discussion on a proposal occurs on its associated pull request. Click on the Pull Requests tab in GitHub to see a listing of the proposals currently under discussion. To see the text of the proposal click on the "Files Changed" tab on corresponding Pull Request page.

Github offers two ways of viewing diffs: the "source diff" view, which shows a plain text diff, and the "rich diff" view, which provides a more readable rendered view of the markup. The view can be selected using the buttons on the top-right corner of the "Files Changed" tab.

Use the view selector buttons on the top right corner of the "Files Changed" tab to change between "source diff" and "rich diff" views.

Use the view selector buttons on the top right corner of the "Files Changed" tab to change between "source diff" and "rich diff" views.

Feedback on a proposal can be offered on open pull requests using both Github's in-line and pull request commenting features.

Hover over a line in the source diff view of a pull request and click on the + to leave an inline comment

Hover over a line in the source diff view of a pull request and click on the + to leave an inline comment

How do I submit a proposal?

While the full process is described in the proposal describing the proposal process, here is a short summary,

  1. Clone this repository and create a branch in your clone for your new proposal.
  2. Starting with the template, describe your proposed change in a file in the proposals/ directory. Use a filename of the form proposals/0000-short-proposal-title.rst.
  3. Write down the details of your proposal. At very least this will involve filling in the empty fields of the template. Note that proposals are written in ReStructuredText, not Markdown, for its expressiveness and ease of integration into other GHC infrastructure.
  4. When you feel your proposal document is complete, open a Pull Request requesting that your branch be merged into the master branch of this repository. Be sure to include a link to the rendered view of your proposal in the pull request description. Your proposal will automatically be announced on the ghc-devs mailing list when this pull request is opened.
  5. Discussion will proceed on the pull request; it is very likely that multiple iterations will be necessary before the proposal stabilizes.
  6. When discussion has died down email the (yet to be formed) GHC Commitee , who will review the proposal, the feedback collected on the pull request, and general community sentiment and decide whether the proposal will be accepted.
  7. When your proposal is accepted your pull request will be merged. At this point you or someone else may choose to implement your proposal.

ghc-proposals's People

Contributors

bgamari avatar

Stargazers

Roy Peter D'Souza avatar

Watchers

James Cloos avatar Matthew Pickering avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.