On Mon, Oct 13, 2014 at 8:43 AM, Allen Wirfs-Brock <[email protected]> wrote:
> An old discussion. See: > > https://esdiscuss.org/topic/set-and-map-additions-in-the-latest-draft > https://esdiscuss.org/notes/2012-07-26 (section heading: Map and Set > methods: conclusion) > https://bugs.ecmascript.org/show_bug.cgi?id=591 > > OK, thanks for the info Allen. I guess, as long as it really was designed this way (for reusable callbacks at first place), it's probably fine. Though I still can predict confusions there. Dmitry > Allen > > > On Oct 10, 2014, at 4:12 PM, Rick Waldron wrote: > > > > On Friday, October 10, 2014, Dmitry Soshnikov <[email protected]> > wrote: > >> Hi, >> >> (sorry I again probably too late, if the API is already locked, very >> likely it has been discussed and approved, please let me know) >> >> The API of `Set`s seems in inconvenient way exposes things that relates >> only to implementation details, but which doesn't make big sense at >> abstraction usage level. >> >> In particular, the `keys` and `entries` methods. I understand that `Set`s >> are just backed by `Map`s, and for simplicity of the specification reuse >> the same iteration algorithms (which by default calls `entries` for maps in >> `for-of`). >> >> But `keys` just doesn't make sense for sets, and the most inconvenient is >> callback function for `forEach` (and later for `map` and `filter` when they >> will be introduced). If devs want to analyze the set object itself, they >> have to repeat twice the "value" in parameters. >> >> ``` >> (new Set([1,2,3])).forEach((value, againValue, theSet) => { >> // huh? againValue? >> ... >> }); >> ``` >> > > The designed to match A.p.forEach parameters to reduce refactoring > hazards. > > Rick > > >> Are we OK with this? Seems like removing `entries`, `keys` and providing >> own default `@@iterator` for `Set` which should be just `values()` would >> make it more sense from the abstraction usage perspective. >> >> Dmitry >> > _______________________________________________ > 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

