On 1/12/18 5:44 PM, Timon Gehr wrote:
As promised [1], I have started setting up a DIP to improve tuple ergonomics in D:

https://github.com/tgehr/DIPs/blob/tuple-syntax/DIPs/DIP1xxx-tg.md

Awesome! I can say I felt a lot more comfortable with the trailing-comma syntax after our last discussion :)

Before going ahead with it, I'd like some preliminary community input:

- I'm not yet completely satisfied with the DIP.
   (See section "Limitations".)
   Please let me know suggestions or further concerns you might have.

In the section discussing the breaking changes with proposal 3, you say:

"The DIP author cannot see an obvious mitigation other than keeping std.typecons.Tuple and core.object.__Tuple separate instead of aliasing them."

Well, what if std.typecons.Tuple can detect whether it's being used in a non-compatible way, and falls back on the original implementation? That is, when it works, it's an alias to object.__Tuple/__tuple, when it doesn't work, it's the old std.typecons.Tuple/tuple.

I would expect it not to be that difficult to detect, but you don't specify exactly what the problems are so I'm not 100% sure I know what you are talking about :) An example would help.

-----

About proposal 2, you say it's inspired by the conversation we had in the forums. I remember the discussion, but I'm not seeing the relationship with Proposal 2.

I also am not sure about the example. It defines some function max, and then never uses it. I'm assuming somewhere there's a typo? In fact, I think the example would compile today as it doesn't use any tuples (I think), so I don't see the reason for it.

-Steve

Reply via email to