It is not a typo

https://go.dev/issue/24451

- sean


On Sat, Jun 3, 2023 at 10:05 PM peterGo <go.peter...@gmail.com> wrote:

> It's a simple typo. Send in a fix.
>
> peter
>
> On Saturday, June 3, 2023 at 4:07:15 PM UTC-4 Kamil Ziemian wrote:
>
>> As burak serdar said, 9 = 3 * 3 is not a prime number, all other elements
>> in the slice are prime numbers. It looks like authors of Go Spec want to
>> make a joke or check how well people read examples in it.
>>
>> Best regards,
>> Kamil
>> sobota, 3 czerwca 2023 o 21:52:37 UTC+2 burak serdar napisał(a):
>>
>>> On Sat, Jun 3, 2023 at 1:40 PM peterGo <go.pe...@gmail.com> wrote:
>>>
>>>>
>>>> Kamil Ziemian,
>>>>
>>>> // list of prime numbers
>>>> primes := []int{2, 3, 5, 7, 9, 2147483647 <(214)%20748-3647>}
>>>>
>>>> The variable prime is a list of some prime numbers starting with the
>>>> lowest and ending with the highest prime numbers that can safely be
>>>> represented an int. An int may either 32 or 64 bits.
>>>>
>>>> Please explain the joke.
>>>>
>>>
>>> Could it be that 9 is not prime?
>>>
>>>
>>>>
>>>>
>>>> Note: “Explaining a joke is like dissecting a frog. You understand it
>>>> better but the frog dies in the process.”
>>>> ― E.B. White
>>>>
>>>> peter
>>>> On Saturday, June 3, 2023 at 3:13:28 PM UTC-4 Kamil Ziemian wrote:
>>>>
>>>>> Is this example found in the "Composite literals" section of Go Spec
>>>>> a joke?
>>>>> // list of prime numbers
>>>>> primes := []int{2, 3, 5, 7, 9, 2147483647 <(214)%20748-3647>}
>>>>>
>>>>> I checked on the internet and 2147483647 <(214)%20748-3647> is a
>>>>> prime number (https://en.wikipedia.org/wiki/2,147,483,647), so this
>>>>> element is fine.
>>>>>
>>>>> Best regards
>>>>> Kamil
>>>>>
>>>>> czwartek, 4 maja 2023 o 16:38:50 UTC+2 Kamil Ziemian napisał(a):
>>>>>
>>>>>> You convince me to your point Axel Wagner. At the same time if we
>>>>>> look at examples in Go Spec, I think their can be improved.
>>>>>> "A0, A1, and []string
>>>>>> A2 and struct{ a, b int }
>>>>>> A3 and int A4, func(int, float64) *[]string, and A5
>>>>>>
>>>>>> B0 and C0
>>>>>> D0[int, string] and E0
>>>>>> []int and []int
>>>>>> struct{ a, b *B5 } and struct{ a, b *B5 }
>>>>>> func(x int, y float64) *[]string, func(int, float64) (result
>>>>>> *[]string), and A5"
>>>>>> I mean, first we need to check that A0, A1 and []string are the same
>>>>>> type and after few examples like D0[int, string] is the same as E0, we 
>>>>>> have
>>>>>> stated []int and []int are the same type. If you convince yourself that 
>>>>>> A0
>>>>>> is the same as A1 and both are the same as []string, checking that []int
>>>>>> has the same type as []int is quite trivial. I would prefer that examples
>>>>>> would start from basic cases like []int is []int and []A3 is []int (if 
>>>>>> this
>>>>>> one is true) and progress to more convoluted like D0[int, string] is E0.
>>>>>>
>>>>>> Best regards,
>>>>>> Kamil
>>>>>>
>>>>>> czwartek, 4 maja 2023 o 14:12:25 UTC+2 Axel Wagner napisał(a):
>>>>>>
>>>>>>> Personally, I'd rather add more examples of "self-evidently equal
>>>>>>> types". In my opinion, all the type aliases in that block confuse 
>>>>>>> matters
>>>>>>> quite a bit.
>>>>>>>
>>>>>>> "[]int and []int are identical" is not actually self-evident at all.
>>>>>>> It is self-evident that any sensible definition of type identity 
>>>>>>> *should*
>>>>>>> make them identical. But it's not self-evident that the given definition
>>>>>>> *does*. Spelling that out in the example, means you are nudged to look 
>>>>>>> at
>>>>>>> the definition and see how their identity follows (by finding "Two slice
>>>>>>> types are identical if they have identical element types").
>>>>>>>
>>>>>>> In fact, whenever you define an equivalence relation, proving that
>>>>>>> it is reflexive is the very first step. And it's not always trivial. For
>>>>>>> example, `==` on `float64` is *not* reflexive. It seems obvious that 
>>>>>>> NaN ==
>>>>>>> NaN *should* hold from how it's spelled - but it doesn't.
>>>>>>>
>>>>>>> So, I disagree that the examples should limit themselves to cases
>>>>>>> where it's non-obvious that the two types should be identical.
>>>>>>>
>>>>>>> On Thu, May 4, 2023 at 12:35 PM Kamil Ziemian <kziem...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> There is a second such example just below "[]int and []int", but to
>>>>>>>> understand it we need some more type declarations, I listed them below.
>>>>>>>> `type (
>>>>>>>> A0 = []string
>>>>>>>> A1 = A0
>>>>>>>> A2 = struct{ a, b int }
>>>>>>>> A3 = int
>>>>>>>> A4 = func(A3, float64) *A0
>>>>>>>> A5 = func(x int, _ float64) *[]string
>>>>>>>>
>>>>>>>> B0 A0
>>>>>>>> B1 []string
>>>>>>>> B2 struct{ a, b int }
>>>>>>>> B3 struct{ a, c int }
>>>>>>>> B4 func(int, float64) *B0
>>>>>>>> B5 func(x int, y float64) *A1
>>>>>>>>
>>>>>>>> // Unimportant part.
>>>>>>>> )`
>>>>>>>> The line in question is
>>>>>>>> "struct{ a, b *B5 } and struct{ a, b *B5 }"
>>>>>>>> which is true, but again feel out of place. I only start grasping
>>>>>>>> rules of types identity, but I make guess that it should be something 
>>>>>>>> like
>>>>>>>> "struct{ a, b *A5 } and struct{ a, b *B5 }"
>>>>>>>>
>>>>>>>> Of course it my just be that I'm just stupid. Feel free to inform
>>>>>>>> me that indeed I have no idea what is going on in the Go Spec.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Kamil
>>>>>>>> czwartek, 4 maja 2023 o 12:20:35 UTC+2 Kamil Ziemian napisał(a):
>>>>>>>>
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> In the section "Type identity" of Go Spec we read a list of type
>>>>>>>>> declarations
>>>>>>>>> `type (
>>>>>>>>> A0 = []string
>>>>>>>>> A1 = A0
>>>>>>>>> A2 = struct{ a, b int }
>>>>>>>>> A3 = int
>>>>>>>>> A4 = func(A3, float64) *A0
>>>>>>>>> A5 = func(x int, _ float64) *[]string
>>>>>>>>>
>>>>>>>>> // Part unimportant for my point.
>>>>>>>>> )`
>>>>>>>>> and then we have list of types that are identical. Among them we
>>>>>>>>> can find text
>>>>>>>>> "[]int and []int"
>>>>>>>>> It is obviously true, but feel out of place. I make a humble guess
>>>>>>>>> that authors intended something along the lines
>>>>>>>>> "[]A3 and []int"
>>>>>>>>> Can someone look at this part of Go Spec? I feel that someone make
>>>>>>>>> a mistake, but at the same time humble me saying that there is any 
>>>>>>>>> mistake
>>>>>>>>> in the Go Spec is something that I shouldn't do.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Kamil
>>>>>>>>> poniedziałek, 8 listopada 2021 o 10:59:23 UTC+1 Kamil Ziemian
>>>>>>>>> napisał(a):
>>>>>>>>>
>>>>>>>>>> Thank you Jan Mercl, now I start to understand this rule.
>>>>>>>>>>
>>>>>>>>>> Best
>>>>>>>>>> Kamil
>>>>>>>>>>
>>>>>>>>>> niedziela, 7 listopada 2021 o 19:34:41 UTC+1 Jan Mercl napisał(a):
>>>>>>>>>>
>>>>>>>>>>> On Sun, Nov 7, 2021 at 7:23 PM Kamil Ziemian <kziem...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> > Can anyone give me explicit example when semicolon is omitted
>>>>>>>>>>> in accordance to the second rule and explanation where it should 
>>>>>>>>>>> be? I
>>>>>>>>>>> probably see such situations dozens of times, I just not know that 
>>>>>>>>>>> they
>>>>>>>>>>> would needed semicolon in some places.
>>>>>>>>>>>
>>>>>>>>>>> I think this is a simple example:
>>>>>>>>>>> https://play.golang.org/p/ZfKxTos6GjY
>>>>>>>>>>>
>>>>>>>>>>> Click "Run" to see the code is valid, then "Format" to watch one
>>>>>>>>>>> semicolon disappear and then "Run" again to see it's still valid
>>>>>>>>>>> code.
>>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>
>>>>>>> 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...@googlegroups.com.
>>>>>>>>
>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/golang-nuts/001d0306-0a43-4680-a03c-3dc87e89dc5an%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/golang-nuts/001d0306-0a43-4680-a03c-3dc87e89dc5an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>> 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...@googlegroups.com.
>>>>
>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/golang-nuts/22f7a3ec-fb08-498e-9e79-b1759e45b5f2n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/golang-nuts/22f7a3ec-fb08-498e-9e79-b1759e45b5f2n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/65d0c91f-af15-4fbc-8d0a-0ce4a162e961n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/65d0c91f-af15-4fbc-8d0a-0ce4a162e961n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAGabyPq207K2Gij%3D7-TpuaevB1EYPR%2Bqo0NnA7%2B19frmT%2BOWXw%40mail.gmail.com.

Reply via email to