Code Monkey home page Code Monkey logo

orfcs's Introduction

OCaml RFCs

This repository is for proposals to change the OCaml language or the internals of its compiler.

It is for proposals by people who actually intend to implement the proposed changes. Feature requests from users of the language should instead by made as issues on ocaml/ocaml.

Making an RFC

RFCs are made by creating a pull request that adds a file to the rfcs folder. The rfcs folder contains accepted proposals for changes to the language. The pull request will only be merged once there is consensus to accept the change in principle.

We'll adjust and adapt the process as we go, but as a starting point RFCs should provide:

  • A high-level summary of the change
  • Motivation for the change
  • Technical details of the change
  • Drawbacks of the change and alternatives to the change
  • Unresolved questions

Discussing an RFC

RFCs will be discussed in the comments of the pull request that proposes them. Authors should try to respond to queries and integrate feedback into the RFC document. Commenters should try to avoid unnecessary bike-shedding.

The OCaml development team will moderate these discussions. We may delete comments or close pull requests that we feel are not productive.

Merging an RFC

Once those involved in discussing an RFC think that it is ready to be considered for approval they can nominate it for consideration at the next developers meeting. At that meeting a decision will be made to either:

  • Accept the proposal and merge the RFC

  • Reject the proposal and close the RFC

  • Request further changes/discussion on the RFC before reconsidering at another meeting.

Once an RFC has been accepted into the repository authors can begin implementing the proposal and be reasonably confident that a suitable implementation of the feature will be accepted upstream into the compiler.

orfcs's People

Contributors

c-cube avatar lpw25 avatar gasche avatar dbuenzli avatar octachron avatar bobot avatar stedolan 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.