Set constructor arguments
Brendan Eich
brendan at mozilla.org
Tue Feb 14 20:49:03 PST 2012
+1 on ... (spread) exhausting an iterator to expand the iterated values
into positional parameters or initialisers.
/be
Mark S. Miller wrote:
> On Tue, Feb 14, 2012 at 12:23 PM, Andrea Giammarchi
> <andrea.giammarchi at gmail.com <mailto:andrea.giammarchi at gmail.com>> wrote:
>
> nope, Set does not even accept arguments as it is now ... does it ?
>
>
> Not now. But this thread suggests changing it to do so. I think I
> agree but don't yet have a strong opinion about whether Set should
> have a single iteratable parameter or a rest parameter of the
> individual elements.
>
> Relevant question: What should spread (... in a call expression) do
> when its operand is an iterator or iteratable? Currently spread simple
> treats its operand as array-like, in which case I think perhaps Set
> should stick with a single parameter. If we can generalize spread to
> enumerate the values obtained from an iterator, then I think perhaps
> Set should go with the spread parameter.
>
> Whatever we decide for Set should also guide what we do for Map and
> WeakMap of course.
>
>
>
>
> On Tue, Feb 14, 2012 at 9:20 PM, Dean Landolt
> <dean at deanlandolt.com <mailto:dean at deanlandolt.com>> wrote:
>
>
>
> On Tue, Feb 14, 2012 at 3:07 PM, Andrea Giammarchi
> <andrea.giammarchi at gmail.com
> <mailto:andrea.giammarchi at gmail.com>> wrote:
>
> if you accept a single argument, of course, but what if
> you Set(..[1, 2, 1]) then ?
>
>
> `Set(1, 2, 1)` then? Are you suggesting this should throw? So
> you'd need to dedupe your arguments before you construct a set
> with them? Isn't that a primary use case of sets?
>
>
> magic add through Set constructor does not sound good to me
>
>
> On Tue, Feb 14, 2012 at 8:27 PM, Peter Michaux
> <petermichaux at gmail.com <mailto:petermichaux at gmail.com>>
> wrote:
>
> On Tue, Feb 14, 2012 at 12:09 AM, Andrea Giammarchi
> <andrea.giammarchi at gmail.com
> <mailto:andrea.giammarchi at gmail.com>> wrote:
> > thinking about the add behavior, where no duplicated
> values will be added,
> > this argument may cause some logic headache anyway
> >
> > Set([1, 2, 1]) what should happen ?
>
> I think that should be a set with one element. The
> element is an array
> of length three.
>
> Peter
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org <mailto:es-discuss at mozilla.org>
> https://mail.mozilla.org/listinfo/es-discuss
>
>
>
>
> --
> Cheers,
> --MarkM
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
More information about the es-discuss
mailing list