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

WIP documents for memory interface and value domain #175

Merged
merged 12 commits into from
Aug 9, 2019

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Jul 25, 2019

This also resolves #40. I concede to the majority opinion that the 4 terms in question are "value", "place", "value expression" and "place expression".

EDIT: Oh, I should also mention: just like the other WIP document, this is basically my personal proposal / opinion; I was hoping for a review to increase clarity but I do not think we should strive for consensus on the opinions expressed in those documents.

reference/src/glossary.md Outdated Show resolved Hide resolved
wip/value-domain.md Outdated Show resolved Hide resolved
wip/memory-interface.md Outdated Show resolved Hide resolved
wip/memory-interface.md Outdated Show resolved Hide resolved
wip/memory-interface.md Outdated Show resolved Hide resolved
wip/memory-interface.md Outdated Show resolved Hide resolved
wip/value-domain.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
reference/src/glossary.md Outdated Show resolved Hide resolved
wip/memory-interface.md Outdated Show resolved Hide resolved
wip/value-domain.md Show resolved Hide resolved
wip/value-domain.md Show resolved Hide resolved
wip/value-domain.md Outdated Show resolved Hide resolved
wip/value-domain.md Show resolved Hide resolved
@RalfJung
Copy link
Member Author

Wow, so much feedback so quick! Thanks a lot. I hope I can go over it tonight.

One thing I should have mentioned: the part in the glossary is hopefully uncontroversial, we should agree on it for merging. The "WIP" part is, just like the other WIP document, basically my personal proposal / opinion; I was hoping for a review to increase clarity but I do not think we should strive for consensus on the opinions expressed in those documents.

@RalfJung
Copy link
Member Author

RalfJung commented Jul 25, 2019

Okay, I think I responded to all comments and edited the documents accordingly. Thanks a ton for all your feedback!

@RalfJung RalfJung changed the title Define value, place representation; WIP documents for memory interface and value domain WIP documents for memory interface and value domain Jul 25, 2019
We define the `Byte` type as follows, where `Pointer` will later be instantiated with the `Memory::Pointer` associated type.

```rust
enum Byte<Pointer> {
Copy link
Member Author

@RalfJung RalfJung Jul 25, 2019

Choose a reason for hiding this comment

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

Maybe Byte is not a good name for this, as it can be viewed as re-defining the term. I am basically starting from "a byte is what gets stored at a memory address", but other people might think "a byte is 8 bits" or "a byte is an integer in 0..256", and then this type here makes no sense. It turns out that matching all these definitions at once is just not possible, though.

@RalfJung RalfJung mentioned this pull request Jul 26, 2019
@RalfJung
Copy link
Member Author

RalfJung commented Aug 9, 2019

It's been two weeks, and this is just a WIP document. Any objections to merging?

@Centril
Copy link
Contributor

Centril commented Aug 9, 2019

Let's do it!

@RalfJung RalfJung merged commit 09c0f97 into rust-lang:master Aug 9, 2019
@RalfJung RalfJung deleted the memory-interface branch August 9, 2019 11:49
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

Successfully merging this pull request may close these issues.

None yet

4 participants