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

[Civl] Cleaned up the ticket sample #818

Merged
merged 1 commit into from
Nov 29, 2023
Merged

[Civl] Cleaned up the ticket sample #818

merged 1 commit into from
Nov 29, 2023

Conversation

shazqadeer
Copy link
Contributor

No description provided.

added layers for local tid
introduced auxiliary globals at layer 1
@shazqadeer shazqadeer merged commit 1633ca6 into master Nov 29, 2023
4 checks passed
Copy link
Member

@bkragl bkragl left a comment

Choose a reason for hiding this comment

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

So one change here is the removal of the top level main procedure that calls Customer in a loop, and the necessary linear allocation code. Wondering why that isn't something useful to illustrate?

It seems there are other orthogonal improvements, like introducing the tid parameters, but I don't get the high-level picture. What is it?

@@ -10,8 +10,8 @@ type {:linear "tid"} X;
const nil: X;
Copy link
Member

Choose a reason for hiding this comment

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

I think it would be nice to replace this with Option<_> from the library. (And rename X to Tid.)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good idea. Will do.

@shazqadeer
Copy link
Contributor Author

shazqadeer commented Dec 11, 2023

@menesro suggested using the ticket example to be the primary illustrator of all Civl machinery except permissions in the upcoming POPL 2024 tutorial. He made slides explaining the example. I was trying to change the code to become closer to the exposition. In particular, I dropped all the allocation of thread identifiers from the sample because permissions (specifically redistribution) will be explained in a more comprehensive using other examples (to be determined) and there is plenty going on in this example already.

Adding main back might still be useful.

Suggestions about the tutorial section on permissions are welcome.

@shazqadeer
Copy link
Contributor Author

@bkragl : BTW, I stopped writing PR summaries since I didn't think anybody was paying attention :-). But every once in a while you pop in with some insightful question or comment. Do you actually look at the Civl PRs regularly?

@bkragl
Copy link
Member

bkragl commented Dec 11, 2023

I do go over my github notifications, but often this happens in bursts. I try and see if I have the necessary context to contribute something, which unfortunately does not seem that often these days. I guess it's more likely for examples than it is for changes in the code. I understand that this is not a big motivation to write elaborate PR descriptions.

@shazqadeer
Copy link
Contributor Author

Here is a PR: #828

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.

2 participants