occam enhancement proposals


Explains how the OEP system works, and how to write OEPs.


Adam Sampson <ats@offog.org>




meta sample template


An OEP documents a proposal for an enhancement or other change to the occam family of programming languages. It should include a description of the change, arguments in favour of or against the change, and examples of use where relevant.

OEPs are stored on the Systems Group Wiki.

Format of OEPs

An OEP consists of a number of headers as a table, followed by an arbitrary amount of descriptive text in standard Wiki format.

OEPs have unique numbers; the number is stored both in the filename and in the OEP header.

The Title header contains a brief title for the OEP. The Summary contains a single-sentence summary of the proposal. For example:

|| Title || Phased access syntax ||
|| Summary || Add PHASED process to control access to shared resources using barriers. ||

The Owner header contains the name (and, optionally, the email address) of a person who is responsible for this proposal.

|| Owner || Jan Emailless ||
|| Owner || James Emailful <emailful@example.com> ||

The Status of an OEP may be:

The Date-Proposed, Date-Accepted and Date-Rejected headers should be added as an OEP enters the appropriate state; they should contain the ISO-format date:

|| Date-Proposed || 2006-03-20 ||
|| Date-Accepted || 2006-03-21 ||

A Last-Modified header may be added when an OEP undergoes major revision.

The Keywords line consists of a series of space-separated lowercase keywords that may be useful to users searching the collection of OEPs -- for example, language proposals should include the language keyword, and API proposals the api keyword.

Creating a new OEP

To create a new OEP, follow this procedure:

|| OEP || NUMBER ||
|| Title || TITLE ||
|| Summary || SUMMARY ||
|| Owner || NAME <EMAIL> ||
|| Status || Proposed ||
|| Date-Proposed || YYYY-MM-DD ||
|| Keywords || KEYWORDS ||

OEP/1 (last edited 2008-01-30 22:23:08 by ats)