Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More elaboration on normative definition #121

Open
jasonwilliams opened this issue Oct 9, 2022 · 1 comment
Open

More elaboration on normative definition #121

jasonwilliams opened this issue Oct 9, 2022 · 1 comment

Comments

@jasonwilliams
Copy link
Member

jasonwilliams commented Oct 9, 2022

I found @allenwb’s definition to be more useful, could we have something more elaborate on "normative"? Or something with more context?

Currently we have:

Statements that constrain the observable behavior of implementations (i.e., the behavior that conforming implementations are allowed to exhibit).

A better definition could be:

Regarding "normative". Generally, when we say "normative" in TC39 we mean something that is an actual requirement expressed in a specification. These can be big like "Promises are part of all ECMAScript implementations". To tiny, such as the ordering of specific actions within a single specification algorithm.

Most of the text in TC39's specifications is normative and most of the work of TC39 ultimately leads to decisions about new normative requirements. This includes all of the proposals going through the staged process. Deciding upon normative requirements is so fundamental it is seldom mentioned in that context.

When "normative changes" are explicitly discussed at meetings, this is usually about some very minor change to the specification of some larger feature that is already in the specification. Like swapping the order of algorithm steps or adding (or removing) a required error check. Often such changes are specification bug fixes. Sometimes they are are needed to bring the specification into alignment with what implementations actually have implemented. Regardless, they require TC39 consensus because in some way they change a requirement that will have an observable (put usually minor) impact on implementations and in rare cases could impact real world code.

Taken from https://dev.to/bnb/my-first-experience-attending-tc39-bpn#comment-a5eg

@jasonwilliams jasonwilliams changed the title Update normative definition More elaboration on normative definition Oct 12, 2022
@robpalme
Copy link
Contributor

I think this is helpful - especially to convey that regular proposals are also normative by this definition, even though we rarely refer to them that way explicitly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants