Ok. That "haha" was merely to show that no animosity was borne. And also because you didn't really answer the question as I asked (by quoting the spec) which I found funny.
Alas, I guess we couldn't see eye to eye. But chill a little bit. I have given all the hardcoded proofs and people have just given me *feelings* about what they thought should be right. I think I have the right to disagree. Anyway, I can only wish you good continuation. :) On Sunday, July 3, 2016 at 2:04:47 PM UTC+2, Florin Pățan wrote: > > I'm sorry but your attitude is counterproductive to the discussion. > "haha" what? I told you I see your point, I think I know the specs very > well, thank you for the link. > However, you seem incapable of accepting, despite an number of others > saying the contrary, despite, given a reasonable example where even the > standard library gets this "wrong" (according to you, according to me it's > exactly as it should be). > You've been explained several times that both point of views hold valid > arguments so why do you insist your point of view is the only correct one > and everyone else is wrong? > The authors of the language which have far more experience that me (I > can't speak for your experience or others), couldn't get to an agreement on > how this should work so they took the best decision, let the user deal with > this according to their individual needs. > I'll stop following this thread / replying as it's pointless to do so at > this point. > Good luck proving everyone else is wrong and you know better. > > On Sunday, July 3, 2016 at 12:47:12 PM UTC+1, Chad wrote: >> >> Ok, Let me help you out haha :) >> >> Here is the definition of a slice. It is not a container. >> https://golang.org/ref/spec#Slice_types >> >> I am not inventing things. >> >> I know what people on this thread said, but that's their misconception. >> >> On Sunday, July 3, 2016 at 1:40:46 PM UTC+2, Florin Pățan wrote: >>> >>> As you pointed out, Printf() should follow the ref spec but that doesn't >>> happen because some humans don't perceive this accuracy as necessary or >>> maybe because the way to resonate about slices / arrays is as containers >>> for the actual values. >>> Thus we have Printf working as it does (and %p will indeed print the >>> memory address of the slice type). >>> >>> I would definitely want to be able to compare []int{1, 2, 3} with >>> ([]int{1, 2, 3, 4, 5})[:3] and result in equality (given here for example >>> purposes but think of them as coming from different sources) >>> Apparently you don't, and that's fine. >>> >>> That's exactly why the compiler only allows comparison with nil, to >>> force the user to think about that should be compared, not do it by default >>> and have potential hidden issues that might be uncovered too late in the >>> process. >>> >>> On Sunday, July 3, 2016 at 12:20:17 PM UTC+1, Chad wrote: >>>> >>>> In fact, that is somewhat my fault. >>>> >>>> I should ask: >>>> >>>> What is a slice? >>>> What is an array? >>>> >>>> Spoiler: a slice is a reference type in its "wikipedia-ish" definition >>>> (auto-dereferencing) which is the reason you observe such a result in the >>>> playground. >>>> >>>> On Sunday, July 3, 2016 at 1:12:17 PM UTC+2, Chad wrote: >>>>> >>>>> No. You should not get it from here. You should get the answer from >>>>> the spec. Let alone the fact that the implementation should ideally >>>>> follow >>>>> the spec and not the reverse. >>>>> >>>>> On Sunday, July 3, 2016 at 1:03:44 PM UTC+2, Florin Pățan wrote: >>>>>> >>>>>> If I look at what %v means, print out the values of various types in >>>>>> Go, according to https://golang.org/pkg/fmt/ then I believe that >>>>>> this holds the answer: https://play.golang.org/p/GiLckoBDxa >>>>>> >>>>>> On Sunday, July 3, 2016 at 11:33:01 AM UTC+1, Chad wrote: >>>>>>> >>>>>>> Not for comparison. >>>>>>> >>>>>>> I am just asking what is the value of a slice and what is the value >>>>>>> of an array. >>>>>>> >>>>>>> Remember that there is no slice comparison that has been spec'ed so >>>>>>> far. >>>>>>> >>>>>>> On Sunday, July 3, 2016 at 12:24:05 PM UTC+2, Florin Pățan wrote: >>>>>>>> >>>>>>>> For []T the value of a slice for the purpose of comparison would be >>>>>>>> each individual value compared against each-other (ofc maybe comparing >>>>>>>> the >>>>>>>> length first as an optimization). >>>>>>>> Same goes for an array. >>>>>>>> >>>>>>>> And again, you are missing the whole point. Both me and you are >>>>>>>> wrong in each-others points of view. >>>>>>>> Just accept this. >>>>>>>> >>>>>>>> On Sunday, July 3, 2016 at 11:19:48 AM UTC+1, Chad wrote: >>>>>>>>> >>>>>>>>> What's the value of a slice? >>>>>>>>> >>>>>>>>> What's the value of an array? >>>>>>>>> >>>>>>>>> On Sunday, July 3, 2016 at 12:05:38 PM UTC+2, Florin Pățan wrote: >>>>>>>>>> >>>>>>>>>> If the type is *[]T then comparing memory addresses make sense to >>>>>>>>>> see if both terms point to the same memory address. >>>>>>>>>> If the type is []T then comparing memory addresses doesn't make >>>>>>>>>> sense as I'd expect to compare values. >>>>>>>>>> Finally, if the type is []*T then I'd still expect to compare >>>>>>>>>> values (even if this is inconsistent with the above two rules), >>>>>>>>>> mainly >>>>>>>>>> because I'm usually interested in the values a slice holds. >>>>>>>>>> >>>>>>>>>> And that's exactly why Ian and others said this is complicated to >>>>>>>>>> define as different users expect different outcomes. >>>>>>>>>> So rather than deal with this, in an auto-magic way, better let >>>>>>>>>> the users deal with it as they see fit from case to case. >>>>>>>>>> >>>>>>>>>> On Sunday, July 3, 2016 at 10:53:39 AM UTC+1, Chad wrote: >>>>>>>>>>> >>>>>>>>>>> Which is why it should be formalized. >>>>>>>>>>> >>>>>>>>>>> Where is the inconsistency between slices and arrays? >>>>>>>>>>> Why do people even think that a slice need to behave like an >>>>>>>>>>> array wrt equality, were it introduced? >>>>>>>>>>> >>>>>>>>>>> A slice is not an array! >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Sunday, July 3, 2016 at 11:36:44 AM UTC+2, as....@gmail.com >>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Relaxing unformalized behavior makes little sense to me. >>>>>>>>>>>> Explaining why equality is inconsistent between slices and arrays >>>>>>>>>>>> is not >>>>>>>>>>>> something I want to do either. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sunday, July 3, 2016 at 1:40:19 AM UTC-7, Chad wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Rob and Robert actually wrote that this area of the spec needs >>>>>>>>>>>>> more work... >>>>>>>>>>>>> Otherwise, the behaviour of maps, slices and funcs cannot be >>>>>>>>>>>>> fully explained. >>>>>>>>>>>>> >>>>>>>>>>>>> On Sunday, July 3, 2016 at 7:25:31 AM UTC+2, as....@gmail.com >>>>>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Go does not have reference types. As far as I know, the word >>>>>>>>>>>>>> was purposefully removed from the spec to remove the ambiguity >>>>>>>>>>>>>> surrounding >>>>>>>>>>>>>> the word. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> https://groups.google.com/forum/m/#!topic/golang-dev/926npffb6lA >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> @Martin >>>>>>>>>>>>> >>>>>>>>>>>>> As I've mentioned earlier, one ought to be careful about >>>>>>>>>>>>> false friends from other languages. >>>>>>>>>>>>> I am not sure I understand what you mean by: >>>>>>>>>>>>> >>>>>>>>>>>>> if the name field is changed after the call >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.