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

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

This comment has been minimized.

Copy link
Member Author

commented Jul 25, 2019

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 RalfJung force-pushed the RalfJung:memory-interface branch from 270dfe1 to 168249a Jul 25, 2019

RalfJung added some commits Jul 25, 2019

@RalfJung

This comment has been minimized.

Copy link
Member Author

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> {

This comment has been minimized.

Copy link
@RalfJung

RalfJung Jul 25, 2019

Author Member

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 referenced this pull request Jul 26, 2019
@RalfJung

This comment has been minimized.

Copy link
Member Author

commented Aug 9, 2019

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

@Centril

This comment has been minimized.

Copy link
Member

commented Aug 9, 2019

Let's do it!

@RalfJung RalfJung merged commit 09c0f97 into rust-lang:master Aug 9, 2019

1 check passed

Travis CI - Pull Request Build Passed
Details

@RalfJung RalfJung deleted the RalfJung:memory-interface branch Aug 9, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.