-
Notifications
You must be signed in to change notification settings - Fork 29
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
reorder capability chapter to show cap layout first #23
Conversation
cbf0bbc
to
d1f6575
Compare
Aligned with the changes proposed in #19 |
I agree this is much better. |
rebased, separated changes to different commits to allow better tracking. |
It would be useful to start the chapter with a picture of the programmer's view of a capability. IMO it is extremely unuseful to start with a picture of the compressed capability bit representation, since the compression format is difficult to understand without first understanding the valid values of the abstract fields. |
I agree it might seem weird but I definitely remember reading it and thinking "it's talking about all these things (bounds, permissions, etc.) but what are they?". Showing the compressed capability first gives you something concrete to explain. Currently it's like trying to explain a car to someone that has never seen one before by saying "the components of a car are: wheels, engine, windows, ..." rather than than "here is a picture of a car, these bits are called the wheels, etc." So yeah, it's backwards if you're writing a functional program, but I still think it's much much clearer. And I distinctly recall starting to read the "components of a capability, giving up, searching for the diagram and thinking 'this should be first'". If there are two of us with the exact same thought... |
I think the wording could be refined after this is merged but it probably makes sense just to move things first. |
What would people think about replacing everything between EF and BE in the introductory picture with a single BOUNDS field, and deferring the details of how the bounds are encoded until the bounds encoding chapter, in much the same way that we don't call out individual bits in SDP and AP and defer those to their respective chapters? (Don't block the merge on account of this question, this is a proposal for post-merge refinement.) |
I think grouping the fields together would be very helpful. Not sure if we need two separate diagrams for that, maybe the asciidoc diagramming tool could allow us to add some shading and a legend or a grouping annotation? I would assume this is possible but I've not used it before. I believe reording makes a lot of sense and is clearer. |
Yeah I agree, a The other thing that I think would make things clearer is a separate diagram for E=0, but that can probably wait, or maybe go in a separate explanatory document.
|
have have moved this out to other PRs, so here is just the reordering.
Yes, this look easier for the initial picture, then the dedicated BOUNDS section can break this down. Having separate Diagrams for EF 0/1 also make it easier to understand this. |
Agreed, I think both of these changes will make it easier to understand. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one non-blocking comment.
…re-commit add yamlfmt pre-commit hook
accfc3b
to
276f2ea
Compare
Rebased again. Since this is approved, I am not doing any significant changes here. The Main purpose of this PR was changing the order in the chapter to make this easier for the reader. Content change like suggested in #23 (comment) could be a follow-up then. If there is no plan to merge this reordering, please say so and close this PR. |
669345e
to
1dc567d
Compare
Show the encoding first so it is easier to find. Signed-off-by: Axel Heider <[email protected]>
Show the encoding first, then describe the field. This is what many other specs also do. When reading the specification, it gives a better overview what the rest of the chapter is about as one can picture something.