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

Add 'stream' and 'future' types #405

Merged
merged 22 commits into from
Nov 7, 2024
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
7d1034a
Add 'stream' and 'future' types
lukewagner Oct 11, 2024
e8198f7
Grammar fix
lukewagner Oct 21, 2024
e6469e8
Spelling fix
lukewagner Oct 21, 2024
15298d5
Clarify wording in Async.md concerning the writable end
lukewagner Oct 21, 2024
fa3cd3a
Mention the callback option alongside task.wait
lukewagner Oct 21, 2024
a864991
Add <typeidx> to {stream,future}.{read,write}
lukewagner Oct 22, 2024
0b5247f
Handle the concurrently-closed case in {stream,future}.cancel-{read,w…
lukewagner Oct 24, 2024
b20409a
Add note on spec-internal state vs. implementation
lukewagner Oct 24, 2024
a15ec3f
Update channel/pipe wording
lukewagner Oct 24, 2024
4e456d7
Improve wording
lukewagner Oct 24, 2024
08b1387
Put the canonopts on {stream,future}.{read,write} instead of copying …
lukewagner Oct 25, 2024
87f7b85
Allow sync task.{wait,yield,poll} and {stream,future}.{read,write}
lukewagner Oct 25, 2024
300c86c
Only enforce scoping for streams/futures containing borrows
lukewagner Oct 28, 2024
70d727a
Break waitable.drop into subtask.drop and {stream,future}.close-{read…
lukewagner Oct 30, 2024
3cf3d5f
Remove dangling syntax rule for waitable.drop
lukewagner Oct 31, 2024
4581ba5
Update subsection links and other dangling waitable.drop reference
lukewagner Oct 31, 2024
e074f41
Add 'error' type and 'canon error.{new,debug-message,drop}' built-ins
lukewagner Oct 29, 2024
30061e5
Update {stream,future}.close-writable descriptions
lukewagner Nov 1, 2024
4306ee2
Add example to explainer text about 'error'
lukewagner Nov 1, 2024
fcea885
Remove restriction on write-before-lift, remove invalid assert, add test
lukewagner Nov 3, 2024
f9b341b
Add <typeidx> to {stream,future}.cancel-{read,write}
lukewagner Nov 4, 2024
e8d192e
Rename 'error' to 'error-context'
lukewagner Nov 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Spelling fix
Co-authored-by: Joel Dice <[email protected]>
  • Loading branch information
lukewagner and dicej committed Nov 7, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
commit e6469e85fc9134c311537829771075da36278fcc
2 changes: 1 addition & 1 deletion design/mvp/CanonicalABI.md
Original file line number Diff line number Diff line change
@@ -581,7 +581,7 @@ retroactively removed (e.g., when a `stream.cancel-read` "steals" a pending
Python code represents `events` as a list of closures, an optimizing
implementation should be able to avoid dynamically allocating this list and
instead represent `events` as a linked list embedded in the elements of the
`waitables` table (noting that, by design, any given `watiables` element can be
`waitables` table (noting that, by design, any given `waitables` element can be
in the `events` list at most once).

A task may also cooperatively yield (via `canon task.yield`), allowing the