DIP54 : revamp of Phobos tuple types
Dicebot
public at dicebot.lv
Sun Dec 29 03:09:53 PST 2013
Winter holidays have distracted me a bit, back to this topic.
I have been thinking about concerns mentioned for a while, this
is proposed update to DIP in question to address those. Hope that
will be a more acceptable compromise to everyone.
1)
Timon has raised the point that exact match between in naming
between built-in and library type will be confusing as they will
actually differ in behavior
(http://forum.dlang.org/post/l99mke$q1o$1@digitalmars.com).
Andrei has proposed `TemplateArgumentPack` as an alternative
(http://forum.dlang.org/post/l9b5cu$2rsj$2@digitalmars.com) which
I do like a lot.
That will also imply naming of module `std.meta.pack` instead of
`std.meta.list`
2)
Despite my initial desire to standardize API between library
types it seems that breakage will be much more damaging than I
have initially expected. Jakob example
(http://forum.dlang.org/post/vkeqyorptcobufzmmhgm@forum.dlang.org)
does not look _that_ bad but imagining is(typeof()) error
suppression on top is pain.
I reconsider that proposal.
As an alternative, I propose signatures of existing templates
as-is but augment them all with overloads taking single `Pack`
(and make it requirement when introducing new ones). New
multilist utilities added are expected to use `Pack`s (I am still
convinced that using nested templates for that is ugly)
3)
Point about omitting expanding library type still remains. I am
still looking for use case when those are really necessary (as a
library type).
Does that look more acceptable? Jakob, Andrej?
More information about the Digitalmars-d
mailing list