Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #161260 > unrolled thread

Why does C allow structs to have a tag?

Started byJames Harris <james.harris.1@gmail.com>
First post2021-06-06 13:16 +0100
Last post2021-06-17 19:30 +0200
Articles 20 on this page of 391 — 31 participants

Back to article view | Back to comp.lang.c


Contents

  Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-06 13:16 +0100
    Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-06 15:27 +0200
      Re: Why does C allow structs to have a tag? Thiago Adams <thiago.adams@gmail.com> - 2021-06-07 06:00 -0700
        Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-07 18:06 +0200
    Re: Why does C allow structs to have a tag? Öö Tiib <ootiib@hot.ee> - 2021-06-06 06:34 -0700
    Re: Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-06 16:33 +0100
    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-06 14:59 +0100
      Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-06 15:05 +0000
        Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-06-06 18:58 +0200
          Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-06 21:12 +0200
            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-06 21:02 +0100
              Re: Why does C allow structs to have a tag? Richard Harnden <richard.nospam@gmail.com> - 2021-06-06 21:25 +0100
              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-06 15:13 -0700
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-06 23:55 +0100
                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-06 17:02 -0700
                  Re: Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-07 18:42 +0100
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 19:39 +0100
                Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-06-07 17:15 +0200
                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-07 12:03 -0700
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 20:55 +0100
                      Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-07 22:17 +0200
                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 21:54 +0100
                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-07 13:22 -0700
                        Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-06-07 13:36 -0700
              Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-07 08:52 +0200
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 11:06 +0100
                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-07 13:25 +0200
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 13:00 +0100
                      Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-06-07 07:25 -0700
                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 16:31 +0100
                          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-07 16:15 +0000
                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 17:53 +0100
                              Re: Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-07 19:02 +0100
                              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-07 22:26 +0000
                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-08 00:19 +0100
                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-07 17:06 -0700
                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-08 11:13 +0100
                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-08 11:43 -0700
                  Re: Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-07 18:54 +0100
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-07 19:57 +0100
      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-06 15:10 -0700
    Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-06 14:51 +0000
      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-06 16:05 +0100
    Re: Why does C allow structs to have a tag? James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-06-06 14:20 -0400
    Re: Why does C allow structs to have a tag? Richard Damon <Richard@Damon-Family.org> - 2021-06-06 15:03 -0400
      Re: Why does C allow structs to have a tag? James Harris <james.harris.1@gmail.com> - 2021-06-07 18:38 +0100
    Re: Why does C allow structs to have a tag? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2021-06-08 08:06 -0600
      Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-06-08 07:45 -0700
        Re: Why does C allow structs to have a tag? Guillaume <message@bottle.org> - 2021-06-08 17:09 +0200
          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-08 16:00 +0000
            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-08 17:23 +0100
              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-08 18:59 +0000
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-09 00:22 +0100
                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-08 16:53 -0700
          Re: Why does C allow structs to have a tag? James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-06-09 11:40 -0400
            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-09 17:36 +0100
              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-09 17:48 +0000
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-09 20:19 +0100
                  Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-09 21:28 +0000
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-09 23:47 +0100
                      Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-10 11:14 +0200
                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-10 12:38 +0100
                          Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-10 15:30 +0200
                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-10 15:18 +0100
                              Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-10 16:55 +0200
                                Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-06-10 17:23 +0200
                                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-10 20:47 +0200
                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-10 17:19 +0100
                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-11 09:52 +0100
                                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-11 11:25 +0200
                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-11 12:00 -0700
                                    Re: Why does C allow structs to have a tag? Guillaume <message@bottle.org> - 2021-06-11 21:14 +0200
                                      Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-11 19:46 +0000
                                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-11 15:28 -0700
                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-11 15:06 -0700
                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-11 15:08 -0700
                                      Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-12 00:32 +0200
                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-11 22:32 +0100
                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-11 15:17 -0700
                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-11 23:29 +0100
                                          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-11 23:21 +0000
                                            Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-06-12 00:39 +0100
                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-12 01:11 +0100
                                                Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-12 00:51 +0000
                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-12 11:08 +0100
                                                    Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-12 16:12 +0000
                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-12 18:36 +0100
                                                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-12 13:06 -0700
                                                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-12 12:42 -0700
                                          Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-12 14:13 +0200
                          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-10 15:16 +0000
                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-10 16:45 +0100
                              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-10 16:56 +0000
                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-10 19:32 +0100
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-09 22:37 +0100
                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-09 15:12 -0700
                  Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-09 23:18 +0000
        Re: Why does C allow structs to have a tag? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2021-06-08 09:25 -0600
          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-08 16:13 +0000
        Re: Why does C allow structs to have a tag? Richard Damon <Richard@Damon-Family.org> - 2021-06-08 21:43 -0400
    Re: Why does C allow structs to have a tag? John Bode <jfbode1029@gmail.com> - 2021-06-08 15:03 -0500
      Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-06-24 10:33 -0700
        Re: Why does C allow structs to have a tag? Öö Tiib <ootiib@hot.ee> - 2021-06-24 13:45 -0700
        Re: Why does C allow structs to have a tag? John Bode <jfbode1029@gmail.com> - 2021-07-01 17:57 -0500
          Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-07-11 00:26 -0700
            Re: Why does C allow structs to have a tag? John Bode <jfbode1029@gmail.com> - 2021-07-26 09:49 -0500
              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-27 15:47 +0000
                Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-27 10:55 -0700
                  Re: Why does C allow structs to have a tag? Guillaume <message@bottle.org> - 2021-07-27 23:48 +0200
                    Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-27 22:12 +0000
                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-28 00:38 +0100
                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-27 18:30 -0700
                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-28 13:02 +0100
                            Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-28 07:19 -0700
                          Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-28 14:06 +0000
                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-28 15:44 +0100
                              Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-28 15:21 +0000
                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-28 17:49 +0100
                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-28 17:21 +0000
                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-28 23:41 +0100
                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-28 16:07 -0700
                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 02:23 +0100
                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-28 19:20 -0700
                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 11:05 +0100
                                              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-29 08:12 -0700
                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 16:34 +0100
                                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-29 17:10 +0000
                                                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-29 10:29 -0700
                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-29 10:28 -0700
                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 19:07 +0100
                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-29 11:16 -0700
                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 19:41 +0100
                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-29 12:43 -0700
                                                          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-30 15:06 +0000
                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 16:31 +0100
                                                              Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-07-30 19:49 +0200
                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 20:03 +0100
                                                                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-07-30 23:16 +0200
                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 01:51 +0100
                                                                      Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-07-31 13:42 +0200
                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 14:56 +0100
                                                                          Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-07-31 19:33 +0200
                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 19:17 +0100
                                                                              Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-07-31 21:32 +0200
                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 23:10 +0100
                                                                                  Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-08-01 00:43 +0200
                                                                                  Re: Why does C allow structs to have a tag? Richard Damon <Richard@Damon-Family.org> - 2021-07-31 15:54 -0700
                                                                                    Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-04 13:36 +0200
                                                                            Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-04 13:32 +0200
                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-04 14:24 +0100
                                                                                Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-04 16:08 +0200
                                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-04 16:32 +0100
                                                                                    Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-04 16:33 +0000
                                                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-04 18:40 +0100
                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-04 19:31 +0100
                                                                                        Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-07 10:03 -0400
                                                                                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-07 17:11 +0100
                                                                                            Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-08 08:51 -0400
                                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 15:41 +0100
                                                                                                Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-08-08 17:12 +0000
                                                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 20:25 +0100
                                                                                                Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-08 20:21 +0100
                                                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 20:38 +0100
                                                                                                    Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-08 14:00 -0700
                                                                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 22:16 +0100
                                                                                                    Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-08 22:17 +0100
                                                                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 22:32 +0100
                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-08 23:13 +0100
                                                                                                        Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-09 01:46 +0100
                                                                                                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 10:54 +0100
                                                                                                            Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 03:59 -0700
                                                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 13:55 +0100
                                                                                                                Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-09 16:08 +0200
                                                                                                                  Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-09 07:53 -0700
                                                                                                                    Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 08:28 -0700
                                                                                                                  Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 08:19 -0700
                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 16:51 +0100
                                                                                                            Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-09 16:47 +0100
                                                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 17:09 +0100
                                                                                                      Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-08 15:30 -0700
                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 00:33 +0100
                                                                                                        Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-08 20:03 -0400
                                                                                                          Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 01:29 -0700
                                                                                                            Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-09 15:05 -0400
                                                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 23:48 +0100
                                                                                                              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-09 16:45 -0700
                                                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 01:33 +0100
                                                                                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-09 17:52 -0700
                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 11:17 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-10 11:22 -0700
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 20:05 +0100
                                                                                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-10 13:49 -0700
                                                                                                                  Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-10 03:03 -0700
                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 16:27 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-10 11:17 -0700
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 20:23 +0100
                                                                                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-10 14:00 -0700
                                                                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 22:54 +0100
                                                                                                                              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-10 15:32 -0700
                                                                                                                Re: Why does C allow structs to have a tag? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2021-08-09 17:53 -0700
                                                                                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-09 18:27 -0700
                                                                                                              Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-10 01:55 -0700
                                                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 12:19 +0100
                                                                                                              Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-10 02:04 -0700
                                                                                                              Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-10 09:42 -0700
                                                                                                              Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-11 17:19 +0000
                                                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 20:04 +0100
                                                                                                                  Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-11 20:19 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-11 16:51 -0400
                                                                                                                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 21:33 +0000
                                                                                                                        Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-11 19:10 -0400
                                                                                                                      Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-12 16:08 +0000
                                                                                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-08 19:56 +0000
                                                                                                    Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-10 14:35 -0700
                                                                                                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-10 21:41 +0000
                                                                                                        Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-10 15:08 -0700
                                                                                                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-10 23:22 +0100
                                                                                                            Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-10 20:15 -0400
                                                                                                              Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-11 08:34 +0000
                                                                                                                Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-11 11:23 +0100
                                                                                                                  Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-11 03:46 -0700
                                                                                                                    Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-08-11 14:29 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-11 07:26 -0700
                                                                                                                        Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-10-01 15:04 -0700
                                                                                                                Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-11 03:55 -0700
                                                                                                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 13:55 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-11 07:07 -0700
                                                                                                                      Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-10-01 13:44 -0700
                                                                                                                        Re: Why does C allow structs to have a tag? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2021-10-01 22:40 -0700
                                                                                                                          Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-10-02 01:37 -0700
                                                                                                                Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-11 14:29 -0400
                                                                                                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 18:54 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 20:10 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 20:04 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-11 17:04 -0400
                                                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 11:09 +0100
                                                                                                              Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 13:52 +0000
                                                                                                                Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-11 08:01 -0700
                                                                                                                  Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 15:06 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 16:47 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 16:14 +0000
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 18:27 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2021-08-11 11:01 -0700
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 19:45 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-11 15:55 -0400
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 22:10 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-11 22:47 +0200
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 23:00 +0100
                                                                                                                          Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 10:29 +0200
                                                                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 12:10 +0100
                                                                                                                              Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 16:28 +0200
                                                                                                                                Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-12 08:03 -0700
                                                                                                                                Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-12 15:52 +0000
                                                                                                                                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 17:55 +0200
                                                                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 16:59 +0100
                                                                                                                                  Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 19:44 +0200
                                                                                                                                    Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-12 19:02 +0000
                                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 20:22 +0100
                                                                                                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-12 11:10 -0700
                                                                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 23:17 +0100
                                                                                                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-12 16:52 -0700
                                                                                                                                        Re: Why does C allow structs to have a tag? Richard Damon <Richard@Damon-Family.org> - 2021-08-12 22:22 -0400
                                                                                                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-12 19:51 -0700
                                                                                                                                        Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-10-01 13:49 -0700
                                                                                                                              Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-12 16:52 +0000
                                                                                                                                Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-12 18:45 +0000
                                                                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 22:17 +0100
                                                                                                                      Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-11 21:09 +0000
                                                                                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 23:13 +0100
                                                                                                                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-11 23:30 +0100
                                                                                                                            Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 10:39 +0200
                                                                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 12:26 +0100
                                                                                                                                Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 16:44 +0200
                                                                                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-12 17:20 +0100
                                                                                                                                    Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-12 20:00 +0200
                                                                                                                          Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-08-12 00:44 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-08-11 10:39 -0700
                                                                                                                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-08-11 17:52 +0000
                                                                                                                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-11 11:41 -0700
                                                                                                Re: Why does C allow structs to have a tag? DFS <nospam@dfs.com> - 2021-08-08 16:00 -0400
                                                                                                Re: Why does C allow structs to have a tag? Ike Naar <ike@rie.sdf.org> - 2021-08-09 05:46 +0000
                                                                                                  Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 01:38 -0700
                                                                                                    Re: Why does C allow structs to have a tag? Michael S <already5chosen@yahoo.com> - 2021-08-09 01:57 -0700
                                                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-09 10:55 +0100
                                                                                  Re: Why does C allow structs to have a tag? James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-08-04 11:48 -0400
                                                                                    Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-08-04 19:34 +0200
                                                                          Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-07-31 19:18 +0000
                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 22:35 +0100
                                                                              Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-07-31 23:51 +0000
                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 01:46 +0100
                                                          Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-07-30 17:20 +0200
                                                            Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 11:16 -0700
                                                              Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-07-30 20:24 +0200
                                                                Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 14:17 -0700
                                                  Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-30 14:55 +0000
                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 16:13 +0100
                                                      Re: Why does C allow structs to have a tag? "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2021-07-30 09:08 -0700
                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 18:18 +0100
                                                          Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-30 17:38 +0000
                                                            Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 11:17 -0700
                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 20:33 +0100
                                                                Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-30 20:10 +0000
                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 21:50 +0100
                                                                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 14:49 -0700
                                                                  Re: Why does C allow structs to have a tag? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-30 14:39 -0700
                                                                Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 14:44 -0700
                                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 00:08 +0100
                                                                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 16:31 -0700
                                                                Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-07-31 19:57 +0000
                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 11:01 -0700
                                                        Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-07-30 23:28 +0200
                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 15:19 -0700
                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 11:12 -0700
                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 20:26 +0100
                                                          Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-30 20:08 +0000
                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-30 22:10 +0100
                                                              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 15:34 -0700
                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 00:13 +0100
                                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 16:36 -0700
                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 02:23 +0100
                                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 21:14 -0700
                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 11:27 +0100
                                                                      Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 15:29 -0700
                                                                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 15:48 -0700
                                                                          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 00:14 +0100
                                                                            Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 16:25 -0700
                                                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 00:52 +0100
                                                                            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 00:29 +0100
                                                                              Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 16:50 -0700
                                                                                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 01:16 +0100
                                                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 18:01 -0700
                                                                                    Re: Why does C allow structs to have a tag? gazelle@shell.xmission.com (Kenny McCormack) - 2021-08-01 01:38 +0000
                                                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 11:41 +0100
                                                                                        Re: Why does C allow structs to have a tag? gazelle@shell.xmission.com (Kenny McCormack) - 2021-08-01 19:14 +0000
                                                                                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 11:54 +0100
                                                                                      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-08-01 16:34 +0100
                                                                                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-08-01 14:58 -0700
                                                                        Re: Why does C allow structs to have a tag? Manfred <noname@invalid.add> - 2021-08-01 19:27 +0200
                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 14:43 -0700
                                                      Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-07-30 23:33 +0000
                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 02:11 +0100
                                                          Re: Why does C allow structs to have a tag? antispam@math.uni.wroc.pl - 2021-07-31 20:33 +0000
                                                      Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-31 02:14 +0000
                                                        Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 21:23 -0700
                                                        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-31 11:39 +0100
                                                          Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-31 12:58 -0700
                                                            Re: Why does C allow structs to have a tag? Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2021-07-31 21:21 +0000
                                                Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-30 14:54 +0000
                                                  Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-30 10:47 -0700
                                                    Re: Why does C allow structs to have a tag? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-30 14:16 -0700
                                              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-30 14:51 +0000
                                              Re: Why does C allow structs to have a tag? Manfred <noname@add.invalid> - 2021-07-30 20:22 +0200
                                                Re: Why does C allow structs to have a tag? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-30 14:07 -0700
                                            Re: Why does C allow structs to have a tag? John Dill <jadill33@gmail.com> - 2021-07-29 06:09 -0700
                                              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 14:26 +0100
                                                Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-29 13:51 +0000
                                                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-07-29 16:18 +0100
                      Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-09-30 05:39 -0700
                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-27 17:14 -0700
                  Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-07-28 02:01 +0000
                    Re: Why does C allow structs to have a tag? Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-07-27 19:07 -0700
                Re: Why does C allow structs to have a tag? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-27 12:32 -0700
                Re: Why does C allow structs to have a tag? "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-27 12:41 -0700
                Re: Why does C allow structs to have a tag? John Bode <jfbode1029@gmail.com> - 2021-07-30 09:02 -0500
                  Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-07-30 15:19 +0100
                    Re: Why does C allow structs to have a tag? John Bode <jfbode1029@gmail.com> - 2021-07-30 10:19 -0500
                      Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-07-30 16:34 +0100
                      Re: Why does C allow structs to have a tag? scott@slp53.sl.home (Scott Lurndal) - 2021-07-30 15:58 +0000
                  Re: Why does C allow structs to have a tag? Lowell Gilbert <lgusenet@be-well.ilk.org> - 2021-07-30 11:28 -0400
                  Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-09-06 05:20 -0700
              Re: Why does C allow structs to have a tag? Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-09-06 05:09 -0700
    Re: Why does C allow structs to have a tag? Siri Cruise <chine.bleu@yahoo.com> - 2021-06-11 12:33 -0700
    Re: Why does C allow structs to have a tag? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2021-06-16 19:39 -0700
      Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-06-17 11:50 +0100
        Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 12:02 +0100
          Re: Why does C allow structs to have a tag? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-06-17 17:05 +0100
        Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-17 13:49 +0200
          Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 13:39 +0100
            Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-17 15:05 +0200
              Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 14:34 +0100
                Re: Why does C allow structs to have a tag? David Brown <david.brown@hesbynett.no> - 2021-06-17 18:35 +0200
                  Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 18:14 +0100
      Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 11:29 +0100
        Re: Why does C allow structs to have a tag? Andrey Tarasevich <andreytarasevich@hotmail.com> - 2021-06-17 08:22 -0700
          Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-17 16:22 +0000
            Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 17:57 +0100
              Re: Why does C allow structs to have a tag? Kaz Kylheku <563-365-8930@kylheku.com> - 2021-06-17 17:53 +0000
                Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-17 21:27 +0100
                  Re: Why does C allow structs to have a tag? Öö Tiib <ootiib@hot.ee> - 2021-06-17 17:58 -0700
                    Re: Why does C allow structs to have a tag? Bart <bc@freeuk.com> - 2021-06-18 11:25 +0100
          Re: Why does C allow structs to have a tag? Guillaume <message@bottle.org> - 2021-06-17 19:30 +0200

Page 3 of 20 — ← Prev page 1 2 [3] 4 5 … 20  Next page →


#161284

FromKeith Thompson <Keith.S.Thompson+u@gmail.com>
Date2021-06-06 15:10 -0700
Message-ID<87zgw2ve3n.fsf@nosuchdomain.example.com>
In reply to#161269
Bart <bc@freeuk.com> writes:
> On 06/06/2021 13:16, James Harris wrote:
>> Does C, as a language, need to allow its structs to have tags?
>>
>> AIUI a fragment such as "struct A {....};" reserves no storage but
>> declares a template which can be used later, e.g. to declare a
>> variable as in
>>
>>   struct A var;
>>
>> to declare a parameter as in
>>
>>   void f(struct A parm) {....}
>>
>> to effect a cast as in
>>
>>   (struct A *) p
>>
>> etc but in all such cases struct A is being used as a type. And
>> there is a more general feature for that in typedef.
>>
>> So could C's struct tags be omitted from the language? If not, what
>> does a struct tag add? Is it something to do with forward
>> declarations or syntactic consistency with union tags, etc?
>
> They add nothing at all to the language. Other languages don't need
> them. Even C++ I think is moving away from them.

No, it isn't.

In C, you can define a structure type as
    struct foo { /* members /* };

where "foo" is the tag.  The name of the resulting type is "struct foo".
You can optionally add a typedef if you prefer to refer to it as "foo"

In C++, the same type, defined with the same syntax, can be referred to
either as "struct foo" or as "foo"; the latter is more common.  The
identifier "foo" is still the struct tag.  C++ has worked this way for
decades; it's not "moving away" from anything.

[...]

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */

[toc] | [prev] | [next] | [standalone]


#161274

FromKaz Kylheku <563-365-8930@kylheku.com>
Date2021-06-06 14:51 +0000
Message-ID<20210606074535.550@kylheku.com>
In reply to#161260
On 2021-06-06, James Harris <james.harris.1@gmail.com> wrote:
> etc but in all such cases struct A is being used as a type. And there is 
> a more general feature for that in typedef.

typedef is general, but a general what?

It's purely a type aliasing mechanism for giving names to existing
types. It doesn't define new types.

> So could C's struct tags be omitted from the language? If not, what does 
> a struct tag add? Is it something to do with forward declarations or 
> syntactic consistency with union tags, etc?

The tag is essential in the C design for self-referential
structures:

  struct node {
    struct node *next;
    void *datum;
  };

typedef cannot solve this because

  typedef struct {
    node *next; // error: typedef does not exist yet!
    void *datum;
  } node;

The struct specifier is what introduces a type; typedef just introduces
the name "node" into the scope which refers to that type.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

[toc] | [prev] | [next] | [standalone]


#161276

FromBart <bc@freeuk.com>
Date2021-06-06 16:05 +0100
Message-ID<1v5vI.20225$St1.18675@fx12.ams4>
In reply to#161274
On 06/06/2021 15:51, Kaz Kylheku wrote:
> On 2021-06-06, James Harris <james.harris.1@gmail.com> wrote:
>> etc but in all such cases struct A is being used as a type. And there is
>> a more general feature for that in typedef.
> 
> typedef is general, but a general what?
> 
> It's purely a type aliasing mechanism for giving names to existing
> types. It doesn't define new types.
> 
>> So could C's struct tags be omitted from the language? If not, what does
>> a struct tag add? Is it something to do with forward declarations or
>> syntactic consistency with union tags, etc?
> 
> The tag is essential in the C design for self-referential
> structures:
> 
>    struct node {
>      struct node *next;
>      void *datum;
>    };
> 
> typedef cannot solve this because
> 
>    typedef struct {
>      node *next; // error: typedef does not exist yet!
>      void *datum;
>    } node;
> 
> The struct specifier is what introduces a type; typedef just introduces
> the name "node" into the scope which refers to that type.

It's only essential because C has decided that's how it has to work.

Your example works with C++; how does that manage it?

C could have done it with a forward declaration of 'node', but:

   typedef node;

is not valid; you need to give a type, and that type then counts as 
either a separate or duplicate struct to the one defined later. Or you 
use a tag for that forward, empty struct declaration, so you're back to 
square one.

It's just fortuitous that the tag is placed just before {...} instead of 
just after, otherwise you'd have the same problem with tags.

A minor tweak of syntax, such as:

   typedef newtype = oldtype;   // with oldtype name-less

instead of:

   typedef oldtype newtype;     // with oldtype/newtype wrapped around
                                // each other for complex types

would have done it.

[toc] | [prev] | [next] | [standalone]


#161279

FromJames Kuyper <jameskuyper@alumni.caltech.edu>
Date2021-06-06 14:20 -0400
Message-ID<s9j3kk$b23$1@dont-email.me>
In reply to#161260
On 6/6/21 8:16 AM, James Harris wrote:
> Does C, as a language, need to allow its structs to have tags?
> 
> AIUI a fragment such as "struct A {....};" reserves no storage but 
> declares a template which can be used later, e.g. to declare a variable 
> as in
> 
>    struct A var;
> 
> to declare a parameter as in
> 
>    void f(struct A parm) {....}
> 
> to effect a cast as in
> 
>    (struct A *) p
> 
> etc but in all such cases struct A is being used as a type. And there is 
> a more general feature for that in typedef.
> 
> So could C's struct tags be omitted from the language? If not, what does 
> a struct tag add? Is it something to do with forward declarations or 
> syntactic consistency with union tags, etc?

C++ dropped the requirement for tags, so it's clearly not necessary.
Except when hidden by the use of a typedef, C's rule guarantees that
every specification of a struct type includes the "struct" keyword.
Because of that rule, struct tags have their own separate name space,
which allows you to use the same identifier for a struct type and for a
given object of that type. That's not possible in C++, where they are in
the same name space. Note: a "name space" is a concept that exists in
both of those languages, though it's less important in C++. A "name
space" is not directly related to the C++ namespace keyword.
Strougstrop obviously thought that the C++ rules were an improvement. C
is more constrained than C++ by the need to maintain backwards
compatibility, which would be broken by adoption of the C++ rules.

[toc] | [prev] | [next] | [standalone]


#161280

FromRichard Damon <Richard@Damon-Family.org>
Date2021-06-06 15:03 -0400
Message-ID<l_8vI.9103$Vh1.1344@fx21.iad>
In reply to#161260
On 6/6/21 8:16 AM, James Harris wrote:
> Does C, as a language, need to allow its structs to have tags?
> 
> AIUI a fragment such as "struct A {....};" reserves no storage but
> declares a template which can be used later, e.g. to declare a variable
> as in
> 
>   struct A var;
> 
> to declare a parameter as in
> 
>   void f(struct A parm) {....}
> 
> to effect a cast as in
> 
>   (struct A *) p
> 
> etc but in all such cases struct A is being used as a type. And there is
> a more general feature for that in typedef.
> 
> So could C's struct tags be omitted from the language? If not, what does
> a struct tag add? Is it something to do with forward declarations or
> syntactic consistency with union tags, etc?
> 
> 

The biggest need is for referencing a struct whose definition hasn't
been given, especially as a pointer type.

You can say 'struct A' to reference that type without ever having seen
the actual definition of what that structure looks like.

You can NOT do this with a typedef. You CAN say
typedef struct A Astruct; to make Astruct a typedef for that unknown
struct type, but even that requires the struct tag to be specified, so
it can possible be linked later when the struct is actually defined.

Except by using this sort of tag, there is no way in C to say that a
name is to some type that may be defined later.

I suppose C could be extended to allow a statement like typedef A; to
define that A was a type, that later might get connected to some defined
type. This would allow you to define pointers to that type.

[toc] | [prev] | [next] | [standalone]


#161301

FromJames Harris <james.harris.1@gmail.com>
Date2021-06-07 18:38 +0100
Message-ID<s9llio$2a4$1@dont-email.me>
In reply to#161280
On 06/06/2021 20:03, Richard Damon wrote:
> On 6/6/21 8:16 AM, James Harris wrote:
>> Does C, as a language, need to allow its structs to have tags?
>>
>> AIUI a fragment such as "struct A {....};" reserves no storage but
>> declares a template which can be used later, e.g. to declare a variable
>> as in
>>
>>    struct A var;
>>
>> to declare a parameter as in
>>
>>    void f(struct A parm) {....}
>>
>> to effect a cast as in
>>
>>    (struct A *) p
>>
>> etc but in all such cases struct A is being used as a type. And there is
>> a more general feature for that in typedef.
>>
>> So could C's struct tags be omitted from the language? If not, what does
>> a struct tag add? Is it something to do with forward declarations or
>> syntactic consistency with union tags, etc?
>>
>>
> 
> The biggest need is for referencing a struct whose definition hasn't
> been given, especially as a pointer type.
> 
> You can say 'struct A' to reference that type without ever having seen
> the actual definition of what that structure looks like.
> 
> You can NOT do this with a typedef. You CAN say
> typedef struct A Astruct; to make Astruct a typedef for that unknown
> struct type, but even that requires the struct tag to be specified, so
> it can possible be linked later when the struct is actually defined.
> 
> Except by using this sort of tag, there is no way in C to say that a
> name is to some type that may be defined later.
> 
> I suppose C could be extended to allow a statement like typedef A; to
> define that A was a type, that later might get connected to some defined
> type. This would allow you to define pointers to that type.

If I understand you then yes, but that's a design choice.

I wonder if a language could, instead, allow statements to refer to 
types which come anywhere in the same scope, i.e. allow /implicit/ 
forward references?

For example, the self referential:

   typedef A = struct {
      A *next;
      int data;
   }

or the indirectly referential:

   typedef P = struct {
      Q *firstchild;
      int data;
   }

   typedef Q = struct {
       P *parent;
       float data;
   }


The hardest part of that for a compiler to parse would be

   Q *firstchild;

because no mention of Q would have even been seen by the time the 
compiler got to that line.

Could an implicit forward reference such as the above be parsed? 
Perhaps. As long as the compiler skipping that line and coming back to 
it later did not prevent recognition of later types then it looks as 
though the above would be parseable without requiring a programmer to 
code an explicit forward reference. If the line could be a declaration 
then proper recognition of it could be carried out in a second pass.

If that would remove the need for a struct tag and also remove the 
slightly ugly and annoying requirement of having to include explicit 
forward references then it would be a small but welcome step forward, IMO.


-- 
James Harris

[toc] | [prev] | [next] | [standalone]


#161324

FromJoe Pfeiffer <pfeiffer@cs.nmsu.edu>
Date2021-06-08 08:06 -0600
Message-ID<1bzgw0tpqu.fsf@pfeifferfamily.net>
In reply to#161260
James Harris <james.harris.1@gmail.com> writes:

> Does C, as a language, need to allow its structs to have tags?

<snip example>

> etc but in all such cases struct A is being used as a type. And there
> is a more general feature for that in typedef.
>
> So could C's struct tags be omitted from the language? If not, what
> does a struct tag add? Is it something to do with forward declarations
> or syntactic consistency with union tags, etc?

structs (with tags) predate typedefs.  I expect you're right that they
are no longer necessary, but they cause no harm that I know of and
removing them now would break lots of code written by people who don't
like typedefs.

[toc] | [prev] | [next] | [standalone]


#161325

FromMalcolm McLean <malcolm.arthur.mclean@gmail.com>
Date2021-06-08 07:45 -0700
Message-ID<45b9fa5f-d715-451c-b236-1a5d236614f7n@googlegroups.com>
In reply to#161324
On Tuesday, 8 June 2021 at 15:06:45 UTC+1, Joe Pfeiffer wrote:
> James Harris <james.h...@gmail.com> writes: 
> 
> > Does C, as a language, need to allow its structs to have tags?
> <snip example>
> > etc but in all such cases struct A is being used as a type. And there 
> > is a more general feature for that in typedef. 
> > 
> > So could C's struct tags be omitted from the language? If not, what 
> > does a struct tag add? Is it something to do with forward declarations 
> > or syntactic consistency with union tags, etc?
> structs (with tags) predate typedefs. I expect you're right that they 
> are no longer necessary, but they cause no harm that I know of and 
> removing them now would break lots of code written by people who don't 
> like typedefs.
>
You need a tag when a struct contains a pointer to its own kind. Which is quite
common for graph nodes.
In other situations, you have the option - either typedef the struct or use the
"struct mytag" syntax. This isn't really desireable. Programming languages 
shouldn't provide two ways to do essentially the same thing. It just
leads to gratuitious inconsistencies, sometimes even incompatibilities.

[toc] | [prev] | [next] | [standalone]


#161326

FromGuillaume <message@bottle.org>
Date2021-06-08 17:09 +0200
Message-ID<s9o16i$133n$1@gioia.aioe.org>
In reply to#161325
Le 08/06/2021 à 16:45, Malcolm McLean a écrit :
> On Tuesday, 8 June 2021 at 15:06:45 UTC+1, Joe Pfeiffer wrote:
> You need a tag when a struct contains a pointer to its own kind. Which is quite
> common for graph nodes.

Yep. This is akin to a forward type definition.

> In other situations, you have the option - either typedef the struct or use the
> "struct mytag" syntax. This isn't really desireable. Programming languages
> shouldn't provide two ways to do essentially the same thing. It just
> leads to gratuitious inconsistencies, sometimes even incompatibilities.

I think this just has historical reasons for C, but it's kind of weird 
indeed. Especially since, not only does it give two ways of defining and 
using struct types, but it also implies separate namespaces. (structs 
have their own namespace, as well as enums, unions, then typedefs, ...)

Now as you mentioned above, to get rid of that, C would need to have 
another way of declaring a forward type definition. You can define a 
forward typedef for structs actually, but it still requires a struct 
tag, so that doesn't solve much.

If I'm not mistaken, you can do the following:

typedef struct foo foo_t;

struct foo { ... foo_t *next; };

which would be similar to:

typedef struct foo { ... struct foo *next; } foo_t;

In both cases, you still need a struct tag.

[toc] | [prev] | [next] | [standalone]


#161328

FromKaz Kylheku <563-365-8930@kylheku.com>
Date2021-06-08 16:00 +0000
Message-ID<20210608083808.0@kylheku.com>
In reply to#161326
On 2021-06-08, Guillaume <message@bottle.org> wrote:
> Le 08/06/2021 à 16:45, Malcolm McLean a écrit :
>> On Tuesday, 8 June 2021 at 15:06:45 UTC+1, Joe Pfeiffer wrote:
>> You need a tag when a struct contains a pointer to its own kind. Which is quite
>> common for graph nodes.
>
> Yep. This is akin to a forward type definition.
>
>> In other situations, you have the option - either typedef the struct or use the
>> "struct mytag" syntax. This isn't really desireable. Programming languages
>> shouldn't provide two ways to do essentially the same thing. It just
>> leads to gratuitious inconsistencies, sometimes even incompatibilities.
>
> I think this just has historical reasons for C, but it's kind of weird 
> indeed. Especially since, not only does it give two ways of defining and 
> using struct types, but it also implies separate namespaces. (structs 
> have their own namespace, as well as enums, unions, then typedefs, ...)

It may feel "weird", but the underlying compile-time object model is
quite very clear.

There is a single namespace for declared identifiers in which typedef
names live along with functions and variables.

There is a separate tag namespace which holds only struct/union/enum
types. This has different, useful properties from the regular namespace.

Only typedef links aliases to types into the regular namespace, nothing else.

Even if you have it so that structs are entered into the regular
namespace automatically without typedef, you still needs structs to have
a name property.

When the compiler is looking at some type object, it needs to be able
to ask what its name is.

If we have ethis situation:

  struct foo { int x; };
  // foo is now a type, without typedef
  typedef foo bar;
  // bar is now an alias for foo

When bar is used for defining and declaring, the compiler needs
to know that the underlying type that bar refers to is actually
a structure with name foo: a struct foo.

E.g. for diagnostics. If you reference "a.z" where a has been declared
as a bar, you want something like:

  parser.c:13: bar has no member z.
  foo.h:5: bar is a typedef for foo, defined here.

If a were declared as foo, that might be:

  parser.c:13: foo has no member z.
  foo.h:5: foo is defined here.

The idea of a tag in the model itself will not go away so easily;
C just lacks the syntactic sugar to conceal it. The model is explicit
to the programmer.  Structures have names, and you have to wire those
names into the regular namespace yourself with typedef, if you
want them there.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

[toc] | [prev] | [next] | [standalone]


#161330

FromBart <bc@freeuk.com>
Date2021-06-08 17:23 +0100
Message-ID<PPMvI.17006$js1.13633@fx11.ams4>
In reply to#161328
On 08/06/2021 17:00, Kaz Kylheku wrote:
> On 2021-06-08, Guillaume <message@bottle.org> wrote:
>> Le 08/06/2021 à 16:45, Malcolm McLean a écrit :
>>> On Tuesday, 8 June 2021 at 15:06:45 UTC+1, Joe Pfeiffer wrote:
>>> You need a tag when a struct contains a pointer to its own kind. Which is quite
>>> common for graph nodes.
>>
>> Yep. This is akin to a forward type definition.
>>
>>> In other situations, you have the option - either typedef the struct or use the
>>> "struct mytag" syntax. This isn't really desireable. Programming languages
>>> shouldn't provide two ways to do essentially the same thing. It just
>>> leads to gratuitious inconsistencies, sometimes even incompatibilities.
>>
>> I think this just has historical reasons for C, but it's kind of weird
>> indeed. Especially since, not only does it give two ways of defining and
>> using struct types, but it also implies separate namespaces. (structs
>> have their own namespace, as well as enums, unions, then typedefs, ...)
> 
> It may feel "weird", but the underlying compile-time object model is
> quite very clear.
> 
> There is a single namespace for declared identifiers in which typedef
> names live along with functions and variables.
> 
> There is a separate tag namespace which holds only struct/union/enum
> types. This has different, useful properties from the regular namespace.
> 
> Only typedef links aliases to types into the regular namespace, nothing else.
> 
> Even if you have it so that structs are entered into the regular
> namespace automatically without typedef, you still needs structs to have
> a name property.
> 
> When the compiler is looking at some type object, it needs to be able
> to ask what its name is.
> 
> If we have ethis situation:
> 
>    struct foo { int x; };
>    // foo is now a type, without typedef
>    typedef foo bar;
>    // bar is now an alias for foo
> 
> When bar is used for defining and declaring, the compiler needs
> to know that the underlying type that bar refers to is actually
> a structure with name foo: a struct foo.
> 
> E.g. for diagnostics. If you reference "a.z" where a has been declared
> as a bar, you want something like:
> 
>    parser.c:13: bar has no member z.
>    foo.h:5: bar is a typedef for foo, defined here.
> 
> If a were declared as foo, that might be:
> 
>    parser.c:13: foo has no member z.
>    foo.h:5: foo is defined here.
> 
> The idea of a tag in the model itself will not go away so easily;
> C just lacks the syntactic sugar to conceal it. The model is explicit
> to the programmer.  Structures have names, and you have to wire those
> names into the regular namespace yourself with typedef, if you
> want them there.

It sounds as though you are trying to retrospectively justify C's tag 
names, simply because the language has them, and you don't want to admit 
that they don't belong.

The fact is that if C had had typedef right from the start, tags would 
never have existed, and nobody would have thought it was a good idea to 
add them.

You /don't/ need a separate tag namespace where even anonymous structs 
live. (If you did, pointers and arrays and function pointers would live 
there too.)

If an implementation requires that anonymous structs 'belong' to a 
symbol table entry, to match named ones, then an anonymous /typedef/, 
not user-accessible, can be created. It doesn't need a separate name-space.

The struct will additionally belong to the collection of user-specified 
types, which includes pointers, arrays and function pointers.


[toc] | [prev] | [next] | [standalone]


#161332

FromKaz Kylheku <563-365-8930@kylheku.com>
Date2021-06-08 18:59 +0000
Message-ID<20210608111514.133@kylheku.com>
In reply to#161330
On 2021-06-08, Bart <bc@freeuk.com> wrote:
> On 08/06/2021 17:00, Kaz Kylheku wrote:
>> On 2021-06-08, Guillaume <message@bottle.org> wrote:
>>> Le 08/06/2021 à 16:45, Malcolm McLean a écrit :
>>>> On Tuesday, 8 June 2021 at 15:06:45 UTC+1, Joe Pfeiffer wrote:
>>>> You need a tag when a struct contains a pointer to its own kind. Which is quite
>>>> common for graph nodes.
>>>
>>> Yep. This is akin to a forward type definition.
>>>
>>>> In other situations, you have the option - either typedef the struct or use the
>>>> "struct mytag" syntax. This isn't really desireable. Programming languages
>>>> shouldn't provide two ways to do essentially the same thing. It just
>>>> leads to gratuitious inconsistencies, sometimes even incompatibilities.
>>>
>>> I think this just has historical reasons for C, but it's kind of weird
>>> indeed. Especially since, not only does it give two ways of defining and
>>> using struct types, but it also implies separate namespaces. (structs
>>> have their own namespace, as well as enums, unions, then typedefs, ...)
>> 
>> It may feel "weird", but the underlying compile-time object model is
>> quite very clear.
>> 
>> There is a single namespace for declared identifiers in which typedef
>> names live along with functions and variables.
>> 
>> There is a separate tag namespace which holds only struct/union/enum
>> types. This has different, useful properties from the regular namespace.
>> 
>> Only typedef links aliases to types into the regular namespace, nothing else.
>> 
>> Even if you have it so that structs are entered into the regular
>> namespace automatically without typedef, you still needs structs to have
>> a name property.
>> 
>> When the compiler is looking at some type object, it needs to be able
>> to ask what its name is.
>> 
>> If we have ethis situation:
>> 
>>    struct foo { int x; };
>>    // foo is now a type, without typedef
>>    typedef foo bar;
>>    // bar is now an alias for foo
>> 
>> When bar is used for defining and declaring, the compiler needs
>> to know that the underlying type that bar refers to is actually
>> a structure with name foo: a struct foo.
>> 
>> E.g. for diagnostics. If you reference "a.z" where a has been declared
>> as a bar, you want something like:
>> 
>>    parser.c:13: bar has no member z.
>>    foo.h:5: bar is a typedef for foo, defined here.
>> 
>> If a were declared as foo, that might be:
>> 
>>    parser.c:13: foo has no member z.
>>    foo.h:5: foo is defined here.
>> 
>> The idea of a tag in the model itself will not go away so easily;
>> C just lacks the syntactic sugar to conceal it. The model is explicit
>> to the programmer.  Structures have names, and you have to wire those
>> names into the regular namespace yourself with typedef, if you
>> want them there.
>
> It sounds as though you are trying to retrospectively justify C's tag 
> names, simply because the language has them, and you don't want to admit 
> that they don't belong.

Indeed, if sounds that way if you're only lightly skimming through
my paragraphs in order to confirm that belief.

Though I didn't say that here, do I like languages with multiple
namespaces. Not necessarily the way C does it though.  I'd be quite okay
with types, variables and functions all being in separate namespaces.
However, I appreciate the point that types don't have to be split up
further into tags and typedefs.

> The fact is that if C had had typedef right from the start, tags would 
> never have existed, and nobody would have thought it was a good idea to 
> add them.

My point, if you read more carefully, is that structure types would
still internally hold a reference to a symbol which gives their name,
but that this would not be entered into a separate tag name space that
is visible in the program semantics.

With that, the compiler would be able to dereference a typedef name to a
structure type, and then obtain that type's name in order to know the
original name under which the structure had been introduced, which can
be used as a key into the typedef space again.

That could be useful for diagnostics.

At no point is a tag namespace involved in my description of this.

> If an implementation requires that anonymous structs 'belong' to a 
> symbol table entry, to match named ones, then an anonymous /typedef/, 
> not user-accessible, can be created. It doesn't need a separate name-space.

That gensym could still be attached to the structure type itself, not
only entered into the type namespace.

I'm mostly here to discuss C. There are a lot of would-be, could-be
debates exactly like this in the comp.std.c newsgroup. I've never
participated there, other than by some cross-posting activity.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

[toc] | [prev] | [next] | [standalone]


#161334

FromBart <bc@freeuk.com>
Date2021-06-09 00:22 +0100
Message-ID<TYSvI.973672$VS.147248@fx40.ams4>
In reply to#161332
On 08/06/2021 19:59, Kaz Kylheku wrote:
> On 2021-06-08, Bart <bc@freeuk.com> wrote:

>> It sounds as though you are trying to retrospectively justify C's tag
>> names, simply because the language has them, and you don't want to admit
>> that they don't belong.
> 
> Indeed, if sounds that way if you're only lightly skimming through
> my paragraphs in order to confirm that belief.
> 
> Though I didn't say that here, [I do like?] languages with multiple
> namespaces. Not necessarily the way C does it though.  I'd be quite okay
> with types, variables and functions all being in separate namespaces.

That will make some dynamic languages tricky. You write:

   A = B

B exists as a type, function and variable; which one is assigned here? 
(Probably not a problem in Python however, where everything can be a 
considered a variable.)

> However, I appreciate the point that types don't have to be split up
> further into tags and typedefs.
> 
>> The fact is that if C had had typedef right from the start, tags would
>> never have existed, and nobody would have thought it was a good idea to
>> add them.
> 
> My point, if you read more carefully, is that structure types would
> still internally hold a reference to a symbol which gives their name,
> but that this would not be entered into a separate tag name space that
> is visible in the program semantics.
> 
> With that, the compiler would be able to dereference a typedef name to a
> structure type, and then obtain that type's name in order to know the
> original name under which the structure had been introduced, which can
> be used as a key into the typedef space again.

These are examples of user-speciefied-types in C, built using primitives:

    int**

    float[10]

    int(*)(void)  (Some sort of function pointer I hope)

    struct{int x,y;}

All are anonymous. All can be assigned a typedef to represent each type. 
But each exists in a collection of such types within the implementation.

The only difference between struct and the rest, is two different 
instances of the same type-spec (say int** in one place and int** in 
another) are considered compatible. Less need to tie them together with 
a typedef.

But two lots of struct{int x,y;} are considered separate types. Here you 
/need/ a typedef to allow multiple instances of that same type. [My 
languages don't allow anonymous struct types; they have to be formally 
named.]

Apart from a typedef, there's no need for any internal /named/ identifer 
here.

[toc] | [prev] | [next] | [standalone]


#161335

FromKeith Thompson <Keith.S.Thompson+u@gmail.com>
Date2021-06-08 16:53 -0700
Message-ID<87r1hboquj.fsf@nosuchdomain.example.com>
In reply to#161334
Bart <bc@freeuk.com> writes:
[...]
> These are examples of user-speciefied-types in C, built using primitives:
>
>    int**
>
>    float[10]
>
>    int(*)(void)  (Some sort of function pointer I hope)

Yes.

>    struct{int x,y;}
>
> All are anonymous. All can be assigned a typedef to represent each
> type. But each exists in a collection of such types within the
> implementation.

I wouldn't necessarily call them "anonymous".  "Anonymous" usually means
"not having a name", and each of those is syntactically a *type-name*.

> The only difference between struct and the rest, is two different
> instances of the same type-spec (say int** in one place and int** in 
> another) are considered compatible. Less need to tie them together
> with a typedef.
> 
> But two lots of struct{int x,y;} are considered separate types. Here
> you /need/ a typedef to allow multiple instances of that same
> type. [My languages don't allow anonymous struct types; they have to
> be formally named.]

No, you don't *need* a typedef.  You can use a tag instead.
(Yes, you can use a typedef if you don't like tags.)

> Apart from a typedef, there's no need for any internal /named/
> identifer here.

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */

[toc] | [prev] | [next] | [standalone]


#161338

FromJames Kuyper <jameskuyper@alumni.caltech.edu>
Date2021-06-09 11:40 -0400
Message-ID<s9qne6$4df$1@dont-email.me>
In reply to#161326
On 6/8/21 11:09 AM, Guillaume wrote:
...
> I think this just has historical reasons for C, but it's kind of weird 
> indeed. Especially since, not only does it give two ways of defining and 
> using struct types, but it also implies separate namespaces. (structs 
> have their own namespace, as well as enums, unions, then typedefs, ...)

Almost: struct, union, and enumeration tags all share a single name
space. Typedefs shares the "ordinary identifier" name space with the
names of objects, functions, macro names and macro parameters (6.2.3).

[toc] | [prev] | [next] | [standalone]


#161340

FromBart <bc@freeuk.com>
Date2021-06-09 17:36 +0100
Message-ID<J66wI.2$73h1.0@fx10.ams4>
In reply to#161338
On 09/06/2021 16:40, James Kuyper wrote:
> On 6/8/21 11:09 AM, Guillaume wrote:
> ...
>> I think this just has historical reasons for C, but it's kind of weird
>> indeed. Especially since, not only does it give two ways of defining and
>> using struct types, but it also implies separate namespaces. (structs
>> have their own namespace, as well as enums, unions, then typedefs, ...)
> 
> Almost: struct, union, and enumeration tags all share a single name
> space. Typedefs shares the "ordinary identifier" name space with the
> names of objects, functions, macro names and macro parameters (6.2.3).

Labels bizarrely have their own name space too.

[toc] | [prev] | [next] | [standalone]


#161341

FromKaz Kylheku <563-365-8930@kylheku.com>
Date2021-06-09 17:48 +0000
Message-ID<20210609104104.187@kylheku.com>
In reply to#161340
On 2021-06-09, Bart <bc@freeuk.com> wrote:
> On 09/06/2021 16:40, James Kuyper wrote:
>> On 6/8/21 11:09 AM, Guillaume wrote:
>> ...
>>> I think this just has historical reasons for C, but it's kind of weird
>>> indeed. Especially since, not only does it give two ways of defining and
>>> using struct types, but it also implies separate namespaces. (structs
>>> have their own namespace, as well as enums, unions, then typedefs, ...)
>> 
>> Almost: struct, union, and enumeration tags all share a single name
>> space. Typedefs shares the "ordinary identifier" name space with the
>> names of objects, functions, macro names and macro parameters (6.2.3).
>
> Labels bizarrely have their own name space too.

It's the same in Common Lisp.

 > (block foo (let ((foo 3)) (return-from foo foo)))
 3

The block named foo isn't shadowed by the variable foo. Why would it be;
it's a completely different kind of thing.

In C, labels are visible function wide, whereas lexical scope follows
blocks. So that alone calls for a separate namespace.

A primary C expression would never refer to a goto label; there is no
such syntax. Labels are referenced only by goto, which requires a label
name argument; so if labels intefered with lexical variable references,
it would only be a source of gratuitous syntactic clashes with no
underlying semantic clashes.

But ... I'm dying to hear how it's all done nicely in a single namespace
in some shitty language that nobody uses.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

[toc] | [prev] | [next] | [standalone]


#161342

FromBart <bc@freeuk.com>
Date2021-06-09 20:19 +0100
Message-ID<hv8wI.5322$rTd1.3536@fx15.ams4>
In reply to#161341
On 09/06/2021 18:48, Kaz Kylheku wrote:
> On 2021-06-09, Bart <bc@freeuk.com> wrote:
>> On 09/06/2021 16:40, James Kuyper wrote:
>>> On 6/8/21 11:09 AM, Guillaume wrote:

>> Labels bizarrely have their own name space too.
> 
> It's the same in Common Lisp.
> 
>   > (block foo (let ((foo 3)) (return-from foo foo)))
>   3
> 
> The block named foo isn't shadowed by the variable foo. Why would it be;
> it's a completely different kind of thing.
> 
> In C, labels are visible function wide, whereas lexical scope follows
> blocks. So that alone calls for a separate namespace.

Nonsense. One of my languages uses some 20 categories of identifiers; 
should each exist in its private namespace?

> 
> A primary C expression would never refer to a goto label; there is no
> such syntax. Labels are referenced only by goto, which requires a label
> name argument; so if labels intefered with lexical variable references,
> it would only be a source of gratuitous syntactic clashes with no
> underlying semantic clashes.

Nonsense. That would be remarkably short-sighted. In GNU C, you can have 
expressions like this:

    void* p = cond ? &&L1 : &&L2;

where L1 and L2 are labels. But because they exist in a private 
namespace, you need to use && instead of &, for the highly dubious 
benefit of being able to to have both a label and a function, variable 
etc with the same name:

   void* L1 = &&L1;

Brilliant; no room for confusion there at all!

C already detects semantic errors like this:

    typedef int T;
    int a = T;

with it requiring that variables and usertypes are in separate 
namespaces. It would be no different with labels.


> But ... I'm dying to hear how it's all done nicely in a single namespace
> in some shitty language that nobody uses.

So you're sticking up for some weird quirk of C that probably 99% of C 
programmers don't know about, which only exists because some /shitty/ 
early compiler couldn't figure out how to implement proper symbol 
tables, because.....?

It's somewhat worrying that people make so much of accidents of design. 
I mean, it's not as though the designers as C specifically set out to 
have a separate name space for labels.

And it they hadn't had that, I doubt you would be here know lamenting 
the lack of that feature! It wouldn't have occurred to anyone to have 
it. It is completely pointless.

[toc] | [prev] | [next] | [standalone]


#161343

FromKaz Kylheku <563-365-8930@kylheku.com>
Date2021-06-09 21:28 +0000
Message-ID<20210609135620.66@kylheku.com>
In reply to#161342
On 2021-06-09, Bart <bc@freeuk.com> wrote:
> On 09/06/2021 18:48, Kaz Kylheku wrote:
>> On 2021-06-09, Bart <bc@freeuk.com> wrote:
>>> On 09/06/2021 16:40, James Kuyper wrote:
>>>> On 6/8/21 11:09 AM, Guillaume wrote:
>
>>> Labels bizarrely have their own name space too.
>> 
>> It's the same in Common Lisp.
>> 
>>   > (block foo (let ((foo 3)) (return-from foo foo)))
>>   3
>> 
>> The block named foo isn't shadowed by the variable foo. Why would it be;
>> it's a completely different kind of thing.
>> 
>> In C, labels are visible function wide, whereas lexical scope follows
>> blocks. So that alone calls for a separate namespace.
>
> Nonsense. One of my languages uses some 20 categories of identifiers; 
> should each exist in its private namespace?

Possibly, yes. Twenty categories of identifiers might legitimately
belong to a single namespace, or two two namespaces, or three, ...
anywhere up to twenty namespaces.

Quite likly, some intermediate number may be reasonable, if the
categories can be grouped into related sub-categories.

Multiple namespaces is nice.

Common Lisp

     (defmethod foo ((list list))
       (block list
         (return-from list (list list)))

Here we have a method parameter list, specialized to class type list:
an object of list type called list. The expression (list list) calls the
list function, passing it the list, to produce a list of it.
This is returned from the block named list.

Perfectly readable to me, without so much as a pause.

>> A primary C expression would never refer to a goto label; there is no
>> such syntax. Labels are referenced only by goto, which requires a label
>> name argument; so if labels intefered with lexical variable references,
>> it would only be a source of gratuitous syntactic clashes with no
>> underlying semantic clashes.
>
> Nonsense. That would be remarkably short-sighted. In GNU C, you can have 
> expressions like this:
>
>     void* p = cond ? &&L1 : &&L2;
>
> where L1 and L2 are labels. But because they exist in a private 
> namespace, you need to use && instead of &, for the highly dubious 
> benefit of being able to to have both a label and a function, variable 
> etc with the same name:
>
>    void* L1 = &&L1;

That's actually a good name for the variable, if it always points to L1.

If L1 is reassigned to point to L2, then L1 is not a good name on that
account.

> Brilliant; no room for confusion there at all!

In the same namespace, we can have confusion via shadowing:

  L1:
  // ...
  {
    int L1;
  }

There is no design choice in which some people can't write something
which later confuses someone (possibly themselves).

> C already detects semantic errors like this:
>
>     typedef int T;
>     int a = T;

That's pretty dumb; typedefs should have their own namespace.

I would not make a career of ranting about this on Usenet, though.

The thing I value most in C is staying the same, and being widely
portable.  No matter how much I believe in some improvement, I would
rather it not be made. If it were made, I wouldn't use it.

>> But ... I'm dying to hear how it's all done nicely in a single namespace
>> in some shitty language that nobody uses.
>
> So you're sticking up for some weird quirk of C that probably 99% of C 
> programmers don't know about, which only exists because some /shitty/ 
> early compiler couldn't figure out how to implement proper symbol 
> tables, because.....?

I believe that labels in their own namespace is a good design.
Very well thought out.

> And it they hadn't had that, I doubt you would be here know lamenting 
> the lack of that feature!

Of course, that would be your prerogative.

-- 
TXR Programming Language: http://nongnu.org/txr
Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal

[toc] | [prev] | [next] | [standalone]


#161346

FromBart <bc@freeuk.com>
Date2021-06-09 23:47 +0100
Message-ID<MxbwI.2275$yVI1.1795@fx07.ams4>
In reply to#161343
On 09/06/2021 22:28, Kaz Kylheku wrote:
> On 2021-06-09, Bart <bc@freeuk.com> wrote:

> Possibly, yes. Twenty categories of identifiers might legitimately
> belong to a single namespace, or two two namespaces, or three, ...
> anywhere up to twenty namespaces.

All that can occur as top-level names in an expression (not following 
"." or other special syntax) are in one namespace, which is most of them.

Each also belongs inside a real namespace, one created by a module, 
record or function. There is no need for artificial namespaces just so I 
can use A, A and A for different purposes inside the same scope.

I would call that an anti-feature.

> Quite likly, some intermediate number may be reasonable, if the
> categories can be grouped into related sub-categories.
> 
> Multiple namespaces is nice.
> 
> Common Lisp
> 
>       (defmethod foo ((list list))
>         (block list
>           (return-from list (list list)))

The 'spam spam spam and spam' school of coding.


> Here we have a method parameter list, specialized to class type list:
> an object of list type called list. The expression (list list)

(There are two (list list)s in the example.)

> calls the
> list function, passing it the list, to produce a list of it.
> This is returned from the block named list.
> 
> Perfectly readable to me, without so much as a pause.

To /you/. I expect your example could also be tweaked to be:

        (List lIst ((list list))
          (liSt list
            (lisT list (list list)))

To do away altogether with that pesky problem of needing to think up 
distinct identifiers for your 100,000-line application.

[toc] | [prev] | [next] | [standalone]


Page 3 of 20 — ← Prev page 1 2 [3] 4 5 … 20  Next page →

Back to top | Article view | comp.lang.c


csiph-web