Hi Nick and Everyone,
We had actually considered a similar idea (i.e. load sigils) during
the design phase of pattern matching. In the interest of having a
rule that is as simple as possible, we had proposed to use a leading
dot as a universal marker. Tin's example would thus have been written
match r: case (src, None): ... case (.c, msg): ... case (.s, msg): ...
However, this idea was met with some resistance. After briefly
looking at various alternatives again, we eventually decided to defer
this discussion entirely, allowing for the community to perhaps gain
some experience with the basic pattern matching infrastructure and
have a more in-depth discussion later on.
Paul also wrote :
Nice to hear that there're (high-hierarchy) people
who want to do
2nd round on intent-explicitizing sigils, thanks.
While we from the PEP-622/634/635/636 team are quite adamant that
stores should not be marked, having a second round of discussion
about load sigils is quite exactly what we aimed for! However, we
should consider this to be a discussion about an extension of the
existing PEPs (634-636), rather than about modifying them:
The introduction of a load sigil (be it the dot or a question mark or
anything else) can actually be discussed quite independently of the
rest of pattern matching.
You might have noticed that the original PEP 622 contained a lot more
than the current PEPs 634-636. This is intentional: with the current
pattern matching PEPs, we boiled down the entire concept to the basic
infrastructure that we need in order to get it going; a basic "starter
kit" if you will. There are a lot of ideas around for extending this
basic pattern matching and make it much more powerful and versatile,
including load sigils as proposed by PEP 642. But let us perhaps just
start with pattern matching---hopefully in 3.10 :)---and then
gradually build on that. Otherwise, I am afraid we will just keep
running in circles and never get it to lift off.