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

Make the detailed design terse by separating examples #60

Merged
merged 1 commit into from Nov 21, 2019

Conversation

Ericson2314
Copy link
Member

@Ericson2314 Ericson2314 commented Nov 17, 2019

A few times I have asked people to separate examples from the core change we are deciding on, to have a terse, precise, and unambiguous normative bit that won't become more confusing when the context that makes something wordier flow is lost over time.

There is prior art for this sort of template revision:

In ghc-proposals/ghc-proposals#251 it is pointed out that the combined section both be too wordy and have too few clarifying examples. This is a good point, lest this template change seem to skewed in favor of exports and against beginners: Everyone can win when we have terser detailed designs and far more examples.

rust-lang/rfcs#2059 is not an exact match, but I think is closer in spirit given th way things worked in practice. Before that change, the "how do we teach this" section was excessively beginner-oriented, so the detailed design would still have many intermediate-oriented details. After that change, I think it was clearer that everyone can benefit from a guide / examples, and no one should feel obligated to immediately obligated to understand the reference explanation and all its ramifications on the first pass-through. This freed that section to be more terse and precise.

This is the core, normative part of the RFC. Explain the design in enough
detail for somebody familiar with the ecosystem to understand, and implement.
This should get into specifics and corner-cases. Yet, this section should also
be terse, avoiding redundancy even at the cost of clarity.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might note that an example is by definition redundant, and this is a good thing! If examples state things not covered in the formal design, then we have to reason backwards on what missing design fragment is (difficult and subjective), and also decide whether the detailed design meant to include that design fragment and forgot to, or the didn't mean to include that design fragment and the example dragged in something off-topic.

@globin
Copy link
Member

globin commented Nov 18, 2019

I'll bring this up in the RFCSC meeting on Thursday!

@edolstra edolstra merged commit 337b3d7 into NixOS:master Nov 21, 2019
@Ericson2314 Ericson2314 deleted the terse-normative-detailed-design branch November 23, 2019 00:58
@Ericson2314
Copy link
Member Author

Thank you all for the quick decision!

KAction pushed a commit to KAction/rfcs that referenced this pull request Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants