Any reason template string with empty interpolation placeholder (`${}`) throws?

Mark S. Miller erights at google.com
Fri Oct 23 01:00:14 UTC 2015


On Thu, Oct 22, 2015 at 8:58 PM, Caitlin Potter <caitpotter88 at gmail.com>
wrote:

> The history does not matter.
>

Excuse me. "Tagged templates were an addition" sounded like a claim about
history.



> It doesn’t make a difference what someone presented or argued for to a
> room full of people. What matters is how they’re actually used in practice.
>
> There are some libraries which do some clever things with them. They are
> not common, there are not a lot of them, and they don’t necessarily perform
> their tasks easier than a simple recursive descent parser would.
>
> The main use is absolutely string interpolation.
>
> On Oct 22, 2015, at 8:56 PM, Mark S. Miller <erights at google.com> wrote:
>
>
>
> On Thu, Oct 22, 2015 at 8:54 PM, Caitlin Potter <caitpotter88 at gmail.com>
> wrote:
>
>> > JavaScript does not have string interpolation. It has arbitrary value
>> interpolation.
>>
>> Disagree. `foo ${bar} baz` is string interpolation. `${bar}` becomes
>> `ToString(bar)`. Tagged templates were an addition
>>
>
> That is not the history.
>
>
>
>> that weren’t really needed.
>>
>
> Disagree. They were and are the main motivation. The fact that the
> unmarked case does string interpolation is just icing on the cake.
>
>
>
>
>> Since they exist, great, people can come up with some clever uses for
>> them. But they’re hardly the common use case, which is definitely string
>> interpolation
>>
>> On Oct 22, 2015, at 8:43 PM, Mark S. Miller <erights at google.com> wrote:
>>
>> JavaScript does not have string interpolation. It has arbitrary value
>> interpolation.
>>
>>
>> On Thu, Oct 22, 2015 at 8:34 PM, Caitlin Potter <caitpotter88 at gmail.com>
>> wrote:
>>
>>> Okay, but usability wise, this kind of sucks. There's a reason it's not
>>> what people expect, and why other languages with string interpolation
>>> behave differently.
>>>
>>> On Oct 22, 2015, at 8:24 PM, Allen Wirfs-Brock <
>>> allen.wirfsbrock at gmail.com> wrote:
>>>
>>>
>>> On Oct 22, 2015, at 4:55 PM, Mark Miller <erights at gmail.com> wrote:
>>>
>>>
>>>
>>> On Thu, Oct 22, 2015 at 7:20 PM, Caitlin Potter <caitpotter88 at gmail.com>
>>>  wrote:
>>>
>>>> Cute, but nobody is realistically going to do that.
>>>>
>>>
>>> Since `${}` is a static error, what do you realistically think people
>>> will do? Especially if they meant `${''}`, how do you expect them to react
>>> to the static error?
>>>
>>>
>>> Just like they do if they have a line of code that reads:
>>>
>>> ```js
>>> str = ;
>>> ```
>>>
>>> when they meant
>>>
>>> ```js
>>> str = ‘’;
>>> ```
>>>
>>> It’s just a syntax error.  I probably have syntax errors in 50% of the
>>> lines that I initially type.  I parse, and then fix.
>>>
>>> Allen
>>>
>>>
>>
>>
>> --
>>     Cheers,
>>     --MarkM
>>
>>
>>
>
>
> --
>     Cheers,
>     --MarkM
>
>
>


-- 
    Cheers,
    --MarkM
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20151022/36ae5ea8/attachment-0001.html>


More information about the es-discuss mailing list