Skip to content
This repository was archived by the owner on Apr 10, 2022. It is now read-only.

Raw notes from the meeting #1

Open
ambv opened this issue Dec 16, 2019 · 1 comment
Open

Raw notes from the meeting #1

ambv opened this issue Dec 16, 2019 · 1 comment

Comments

@ambv
Copy link
Collaborator

ambv commented Dec 16, 2019

Approach

Requirements from AsyncIO
Requirements from Trio
Narrow down to find one that works for both
Extra syntax?
A few API functions to unpack information?
How do you represent tracebacks?

Challenge: it's a complicated problem space, it's important to have clear explanations for users.

Motivation

Explain the problem in general. Use cases:

async/await

Task groups/nurseries is the way to structure code.

multiprocessing

Collect results from many workers.

unittest

actual exception + tearDown() exception

Hypothesis

Approaches

Modify the try-except statement

run except: clauses multiple times to unpack all exceptions
it's subtle: is it backwards-compatible?
new code wrapped around old code or vice versa: what will happen?

Has to be within the current syntax: otherwise none of the existing code will adopt it
CancelledError part of ExceptionGroup: existing asyncio code will break

Make ExceptionGroup a container of Exception

how to tie together:
correctly handling extraction of a particular exception
correctly handling tracebacks

@1st1
Copy link
Member

1st1 commented Dec 16, 2019

I wrote a bit more detailed overview of what we want to have in the first draft: #2

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants