-
Notifications
You must be signed in to change notification settings - Fork 52
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
Docs: static keyword #1872
Docs: static keyword #1872
Conversation
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.
Awesome; thanks for getting this going! This looks REALLY great!
I have put nothing in there about refinement; it's perhaps "just a cute detail" as far as the user is concerned. Thoughts?
I think it would be great to add something about this someday, but in a separate PR! Namely, a thing that users might want to know is the following paradigm for how they might use static
:
- Emit fully dynamic code everywhere.
- Observe places where performance is suffering because static inference was incomplete.
- Sprinkle
static
qualifiers in there.
The relevant idea offered by refinement is that step 3 is guaranteed not to break the program.
By this logic, I'd say that inference should be presented here, but I'm not sure about compaction. Thoughts?
Yep!! In particular, maybe we can talk about inference/promotion when we add stuff about refinement above. It's good for people to know this pass exists; the details of how it works or how capable it is probably are not worth writing down. Compaction seems like "just an optimization" like any other, i.e., it can be documented like any other optimization pass.
Thanks Adrian, your suggestions are now in #1885! |
I have removed the section about guarantees and instead distributed that info where appropriate. This also means that we have one list of the various control operators, where I introduce each, give an example, and explain the associated guarantees. A little better than making a number of corresponding lists. |
Nice, I made them into headings and also linked back to the dynamic variants in a number of places. Merging for now. |
* Tweaks * Guarantees * nix tricks and tips * Correct syntax * Title case * Various comments from Adrian * Drag guarantees out into their own section * Push guarantees in throughout * More headings for better linking
First steps towards documenting the shiny new
static
keyword.Progress so far: