{"id":13726404,"url":"https://github.com/ocaml/RFCs","last_synced_at":"2025-05-07T21:32:24.625Z","repository":{"id":40650541,"uuid":"213338633","full_name":"ocaml/RFCs","owner":"ocaml","description":"Design discussions about the OCaml language","archived":false,"fork":false,"pushed_at":"2024-10-01T19:19:31.000Z","size":387,"stargazers_count":148,"open_issues_count":25,"forks_count":32,"subscribers_count":95,"default_branch":"master","last_synced_at":"2024-11-05T09:50:05.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ocaml.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-07T09:04:15.000Z","updated_at":"2024-11-05T00:45:16.000Z","dependencies_parsed_at":"2024-01-06T02:04:10.321Z","dependency_job_id":"8295aed0-ce50-441a-9a44-ccff9f7a3c29","html_url":"https://github.com/ocaml/RFCs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2FRFCs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2FRFCs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2FRFCs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ocaml%2FRFCs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ocaml","download_url":"https://codeload.github.com/ocaml/RFCs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224654260,"owners_count":17347711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:03:03.326Z","updated_at":"2025-05-07T21:32:24.615Z","avatar_url":"https://github.com/ocaml.png","language":null,"funding_links":[],"categories":["Others","Programming Languages"],"sub_categories":[],"readme":"# OCaml RFCs\n\nThis repository is for proposals to change the OCaml language\nor the internals of its compiler.\n\n**It is for proposals by people who actually intend to implement the\nproposed changes. Feature requests from users of the language should\ninstead by made as issues on [ocaml/ocaml](https://github.com/ocaml/ocaml/issues)**.\n\n## Making an RFC\n\nRFCs are made by creating a pull request that adds a file to the\n`rfcs` folder. The `rfcs` folder contains accepted proposals for\nchanges to the language. The pull request will only be merged\nonce there is consensus to accept the change in principle.\n\nWe'll adjust and adapt the process as we go, but as a starting point\nRFCs should provide:\n\n - A high-level summary of the change\n - Motivation for the change\n - Technical details of the change\n - Drawbacks of the change and alternatives to the change\n - Unresolved questions\n\n## Discussing an RFC\n\nRFCs will be discussed in the comments of the pull request that\nproposes them. Authors should try to respond to queries and integrate\nfeedback into the RFC document. Commenters should try to avoid\nunnecessary bike-shedding.\n\nThe OCaml development team will moderate these discussions. We may\ndelete comments or close pull requests that we feel are not\nproductive.\n\n## Reaching a decision\n\n## Merging an RFC\n\nIf debate on the RFC converges on clear consensus, the RFC can be\nmerged.\n\nIf a consensus of OCaml maintainers is elusive (including perhaps the\ncase where an RFC does not attract enough attention), you can request\nreview from the [OCaml Language Committee](Committee.md). The linked\npage describes the committee workings; if you want its attention, you\nshould tag its chair, currently @Octachron. The committee will then\nmake a recommendation about inclusion of this feature in the language,\nthough it has no formal power to make a final decision. At that point,\nit can either be merged (if there is clear willingness to do so) or\nsent to the next developers' meeting.\n\nRegardless of whether the committee has driven the decision or the\ndiscussion at the developers' meeting has, a decision will be to either:\n\n- Accept the proposal and merge the RFC\n\n- Reject the proposal and close the RFC\n\n- Request further changes/discussion on the RFC before reconsidering\n  at another meeting.\n\nOnce an RFC has been accepted into the repository authors can begin\nimplementing the proposal and be reasonably confident that a suitable\nimplementation of the feature will be accepted upstream into the\ncompiler.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focaml%2FRFCs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focaml%2FRFCs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focaml%2FRFCs/lists"}