I agree with Mark, and I wonder why `String.tag` is not the obvious choice here, since every interpolation is also coerced as String
On Thu, Dec 13, 2018 at 9:34 AM Isiah Meadows <[email protected]> wrote: > I mean equivalence to untagged behavior, if that helps. > > FWIW, as stated previously, I'm not married to the name. > On Wed, Dec 12, 2018 at 20:31 Mark Miller <[email protected]> wrote: > >> >> On Wed, Dec 12, 2018 at 5:24 PM Isiah Meadows <[email protected]> >> wrote: >> >>> The template is being expanded as if the template itself is untagged. >> >> >> Does this mean that you describe what tagged templates do, or what >> untagged templates do, as "expanding" something? If so, what is the >> intuition behind that prior usage of "expand"? >> >> >> >>> The point of this is a template tag that just does the default untagged >>> behavior of coercing all expressions to strings and joining the whole thing >>> together. >>> >> >> I certainly agree that the name should suggest equivalence to the default >> untagged behavior. I just never would have thought to describe that >> behavior as "expanding" something. What is it expanded into? >> >> >> >>> On Wed, Dec 12, 2018 at 20:21 Mark Miller <[email protected]> wrote: >>> >>>> What is the intuition behind "expand"? What is being expanded, and what >>>> is it expanding into? >>>> >>>> >>>> >>>> On Tue, Dec 11, 2018 at 10:59 PM Isiah Meadows <[email protected]> >>>> wrote: >>>> >>>>> Those names a little too generic for my liking here. What about >>>>> `String.expand(template, ...params)`? >>>>> >>>>> And also, let's not try to bake a traditional template engine into the >>>>> JS spec - syntactic template strings already work well enough. >>>>> >>>>> ----- >>>>> >>>>> Isiah Meadows >>>>> [email protected] >>>>> www.isiahmeadows.com >>>>> >>>>> On Wed, Dec 12, 2018 at 1:13 AM Michael Luder-Rosefield >>>>> <[email protected]> wrote: >>>>> > >>>>> > Why not String.tag or .tagged? >>>>> > >>>>> > While we're at it, is there any good reason not to have something >>>>> like this: >>>>> > >>>>> > ``` >>>>> > String.template = (template : String, >>>>> taggerFn=String.identity/tag/tagged : Function) => (keys : Array | Object) >>>>> => taggerFn(template, (keys is Array) ? ...keys : keys) >>>>> > // apologies for pseudo-semi-functional code >>>>> > // having keys be an object allows template to be filled by key name >>>>> rather than just index >>>>> > ``` >>>>> > This would make templates closer to the traditional usage, where the >>>>> template comes first and is later passed values to be filled in with. >>>>> Having the taggerFn as an argument allows for things like Isiah's >>>>> escape-then-apply tagging examples. >>>>> > >>>>> > >>>>> > On Wed, 12 Dec 2018 at 12:51 Isiah Meadows <[email protected]> >>>>> wrote: >>>>> >> >>>>> >> I'm not married to `identity`, and I agree the name is probably not >>>>> >> ideal. I'm more concerned about functionality, though. >>>>> >> >>>>> >> ----- >>>>> >> >>>>> >> Isiah Meadows >>>>> >> [email protected] >>>>> >> www.isiahmeadows.com >>>>> >> >>>>> >> On Tue, Dec 11, 2018 at 5:41 AM T.J. Crowder >>>>> >> <[email protected]> wrote: >>>>> >> > >>>>> >> > On Mon, Dec 10, 2018 at 7:08 PM Isiah Meadows >>>>> >> > <[email protected]> wrote: >>>>> >> > > >>>>> >> > > It'd be *way* easier to construct simple template tags if there >>>>> was a >>>>> >> > > built-in identity tag >>>>> >> > >>>>> >> > Wholeheartedly agree, a couple of months ago I considered posting >>>>> something very similar, both for utility reasons and in hopes that it >>>>> would >>>>> be an optimization target (being a standard operation). >>>>> >> > >>>>> >> > I find the name `identity` unilluminating, though, partially >>>>> because it's not quite the same meaning as the usual "identity" function >>>>> (`function identity(x) { return x; }`), though it's close. `assemble`? >>>>> >> > >>>>> >> > -- T.J. Crowder >>>>> >> _______________________________________________ >>>>> >> es-discuss mailing list >>>>> >> [email protected] >>>>> >> https://mail.mozilla.org/listinfo/es-discuss >>>>> _______________________________________________ >>>>> es-discuss mailing list >>>>> [email protected] >>>>> https://mail.mozilla.org/listinfo/es-discuss >>>>> >>>> >>>> >>>> -- >>>> Cheers, >>>> --MarkM >>>> >>> >> >> -- >> Cheers, >> --MarkM >> > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

