String identity template tag
Isiah Meadows
isiahmeadows at gmail.com
Thu Dec 13 01:24:23 UTC 2018
The template is being expanded as if the template itself is untagged. 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.
On Wed, Dec 12, 2018 at 20:21 Mark Miller <erights at gmail.com> 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 <isiahmeadows at gmail.com>
> 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
>> contact at isiahmeadows.com
>> www.isiahmeadows.com
>>
>> On Wed, Dec 12, 2018 at 1:13 AM Michael Luder-Rosefield
>> <rosyatrandom at gmail.com> 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 <isiahmeadows at gmail.com>
>> 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
>> >> contact at isiahmeadows.com
>> >> www.isiahmeadows.com
>> >>
>> >> On Tue, Dec 11, 2018 at 5:41 AM T.J. Crowder
>> >> <tj.crowder at farsightsoftware.com> wrote:
>> >> >
>> >> > On Mon, Dec 10, 2018 at 7:08 PM Isiah Meadows
>> >> > <isiahmeadows at gmail.com> 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
>> >> es-discuss at mozilla.org
>> >> https://mail.mozilla.org/listinfo/es-discuss
>> _______________________________________________
>> es-discuss mailing list
>> es-discuss at mozilla.org
>> https://mail.mozilla.org/listinfo/es-discuss
>>
>
>
> --
> Cheers,
> --MarkM
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20181212/25f06b36/attachment-0001.html>
More information about the es-discuss
mailing list