On Thu, Sep 17, 2020, 2:36 AM Dennis Sweeney <sweeney.dennis650@gmail.com> wrote:
    >>> f"It is {hh}:{mm} {am_or_pm}" = "It is 11:45 PM"
    >>> f"It is {hh}:{mm} {am_or_pm}" == "It is 11:45 PM"

I cringe at every part of this proposal. But this is especially perplexing. How can it POSSIBLY work, unless we have "spooky action at a distance"?!

The proposal a terrible abuse of OUTPUT f-strings. It is confusing, unclear, ambiguous, and would make code far harder to read.

Having some sort of library for template matching seems fine. Letting the mini-language be inspired by f-strings seems fine. It should show it's merit as a third party tool first, but I can imagine using such.

This I wouldn't hate:

hour, minute, daytime = template(
    pattern="It is {hh}:{mm} {am_or_pm}",
    instance="It is 11:45 PM")

There are lots of specifics to work out, like what to do if things don't match up between pattern and instance.  I deliberately changed, e.g. 'hh' in the pattern to 'hour' as the binding, because bindings are just names.

I suppose returning a dictionary using the names in the pattern might work also. Whatever, those are details of a separate library, not a syntax change.