abseil.github.io
abseil.github.io copied to clipboard
Try to clarify wording
I found the phrasing a little hard to understand and had to read it several times to get it. I've tried to rephrase from what I "got".
Thanks for the patch - we'll get back to you soon-ish. Kind of a busy week just now, might wind up being Monday.
No rush on my side. Thanks for caring. :-)
The main gripe I have about the revised text is the "is" vs. "has" notion, which is what I interpreted the original text to be getting at. The "has" language was floating behind the original text, and I have made it explicit (as it were) in my PR.
Construction by conversion, however, does not imply an "is" relationship in the static/dynamic polymorphic sense. To me "is" is too strong a term and is really overloading the idea of polymorphism (which is a little meta). For instance, converting a float
to an int
is a valid conversion, but while both are conceptually numbers, an int
is not a float
and there may be something lost (viz., precision, range, NaNishness, etc.).
Perhaps the distinction I'm looking for is better communicated as being between converting contructors and building constructors. The former can be implicit, while the latter should be explicit
.
I think mostly we're phrasing it as "is" in the "these are Platonically the same thing" not "is" in the polymorphism "Square is a Shape" sense. But I agree it's .... subtle.
On Thu, Mar 1, 2018 at 2:10 PM mlimber [email protected] wrote:
No rush on my side. Thanks for caring. :-)
The main gripe I have about the revised text is the "is" vs. "has" notion, which is what I interpreted the original text to be getting at. The "has" language was floating behind the original text, and I have made it explicit (as it were) in my PR.
Construction by conversion, however, does not imply an "is" relationship in the static/dynamic polymorphic sense. To me "is" is too strong a term and is really overloading the idea of polymorphism (which is a little meta). For instance, converting a float to an int is a valid conversion, but while both are conceptually numbers, an int is not a float and there may be something lost (viz., precision, range, NaNishness, etc.).
Perhaps the distinction I'm looking for is better communicated as being between converting contructors and building constructors. The former can be implicit, while the latter should be explicit.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/abseil/abseil.github.io/pull/156#issuecomment-369697671, or mute the thread https://github.com/notifications/unsubscribe-auth/AL4o36MIBT5e2q3HdjJFR5zDgtVSfbWvks5taEe9gaJpZM4SYcXD .
I'll take another whack at it.
Ping! Just noticed this never went anywhere. No worries if you reject.