abseil.github.io icon indicating copy to clipboard operation
abseil.github.io copied to clipboard

Try to clarify wording

Open mlimber opened this issue 6 years ago • 5 comments

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".

mlimber avatar Mar 01 '18 14:03 mlimber

Thanks for the patch - we'll get back to you soon-ish. Kind of a busy week just now, might wind up being Monday.

tituswinters avatar Mar 01 '18 16:03 tituswinters

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.

mlimber avatar Mar 01 '18 19:03 mlimber

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 .

tituswinters avatar Mar 01 '18 19:03 tituswinters

I'll take another whack at it.

mlimber avatar Mar 01 '18 19:03 mlimber

Ping! Just noticed this never went anywhere. No worries if you reject.

mlimber avatar Jul 13 '18 21:07 mlimber