Skip to content

Latest commit

 

History

History
57 lines (31 loc) · 3.41 KB

process-authoring.md

File metadata and controls

57 lines (31 loc) · 3.41 KB

The DIP Authoring Process

Anyone interested in enhancing the D programming language is welcome to submit a D Improvement Proposal (DIP). Prior to starting your DIP, familiarize yourself with the goals of the DIP process and read the DIP Guidelines.

This document outlines the responsibilities of a DIP author.

When to Write a DIP

Consider writing a DIP for:

  • Changes to the language, including syntax and semantics.
  • Modifications to the functional behavior of code generated by the compiler.

Assess the full impact of your proposed change; even minor modifications can have far-reaching effects.

Step 1 - The DIP Ideas Forum

Begin by seeking community feedback in the DIP Ideas forum. Your post should detail your proposal, enabling informed feedback. Submissions must be self-contained, but links for additional context are acceptable. Refer to the DIP Forum Guidelines for more information.

Goals of this step:

  1. Gauge the proposal's feasibility based on community and maintainer feedback.
  2. Identify potential flaws and gather useful information for crafting your DIP.

Allow two to three weeks for discussion before proceeding. The feedback should inform your decision to continue and assist in preparing a robust initial draft.

Step 2 - Point of Contact and Notifying the DIP Manager

If proceeding, appoint a Point of Contact (POC). For single authors, the author is the POC. For multiple authors, choose one among yourselves.

The POC will handle forum postings, communication with the DIP manager, and other necessary interactions. Notify the DIP manager at [email protected] that DIP development is underway.

Step 3 - Fork the DIP Repository

The primary author should fork the DIP repository, creating a file in the DIPs subdirectory named 1NNN-(POC initials).md, e.g., 1NNN-JQC.md.

Step 4 - Develop the DIP

Develop your DIP according to the DIP Template, without altering the heading order. Add subheadings as needed and complete all "Required" sections.

Do not submit a pull request at this stage. When ready, post a link to your draft in the DIP Development forum. Ensure the link points to a specific revision of your DIP. Allow two to three weeks for feedback, and revise your DIP as needed.

Step 5 - Submission for Formal Assessment

After feedback, the POC may contact the DIP manager for formal evaluation. If significant revisions have been made since the last feedback round, additional forum feedback may be required. Otherwise, the DIP manager will ask you to submit your DIP as a pull request to the DIP Repository.

The DIP manager will assign a number and rename the file upon merging. Submission timing is at the discretion of the author(s)/POC, but ensure availability to respond to queries during the assessment period.

Step 6 - Formal Assessment

Language maintainers typically review a DIP within two weeks of notification. The DIP manager will coordinate with maintainers for any necessary deadline extensions and inform the POC.

Maintainers may request minor revisions for clarity or parameter adjustments. The DIP manager will specify mandatory and optional revisions. Prompt response to revision requests is crucial, as failure to comply can lead to rejection or indefinite postponement of the decision.