Remix.run Logo
zahlman 8 days ago

> What do we gain by the shorthand?

Because it's new syntax, it allows for parsing the literal ahead of time and eagerly evaluating the substitutions. Code like

    bar = 42
    spam = t"foo {bar*bar} baz"
essentially gets translated into

    bar = 42
    spam = Template("foo ", Interpolation(bar*bar), " baz")
That is: subsequent changes to `bar` won't affect the result of evaluating the template, but that evaluation can still apply custom rules.
stavros 7 days ago | parent [-]

Ah OK, I see what you mean, so they're basically an f-string that hasn't been "baked in" yet, and you can still access all its parameters. That's pretty cool.

zahlman 7 days ago | parent [-]

Yes, that's also a fine way to describe it IMO.