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


Groups > comp.lang.python > #108830 > unrolled thread

for / while else doesn't make sense

Started byHerkermer Sherwood <theherk@gmail.com>
First post2016-05-19 09:31 -0700
Last post2016-06-16 11:19 +1000
Articles 20 on this page of 282 — 43 participants

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

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  for / while else doesn't make sense Herkermer Sherwood <theherk@gmail.com> - 2016-05-19 09:31 -0700
    Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-05-19 10:22 -0700
      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 04:02 +1000
      Re: for / while else doesn't make sense theherk@gmail.com - 2016-05-19 11:47 -0700
        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-19 23:28 +0300
        Re: for / while else doesn't make sense David Jardine <david@jardine.de> - 2016-05-19 21:49 +0200
    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 03:46 +1000
      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-19 17:55 +0000
        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-20 10:06 +1000
          Re: for / while else doesn't make sense gst <g.starck@gmail.com> - 2016-05-19 19:02 -0700
            Re: for / while else doesn't make sense Stephen Hansen <me+python@ixokai.io> - 2016-05-19 23:53 -0700
          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-20 11:55 +0000
            Re: for / while else doesn't make sense Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-20 19:57 -0400
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 21:26 +1000
            Re: for / while else doesn't make sense Ethan Furman <ethan@stoneleaf.us> - 2016-05-20 16:58 -0700
              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-21 00:24 +0000
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 13:50 +1000
                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 14:01 +1000
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 19:56 +1000
                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 20:08 +1000
                        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:55 +1000
                          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 21:10 +1000
          Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-21 08:20 +0100
            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 11:37 +0300
            Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:39 +1000
              Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-21 21:48 +0100
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-22 12:57 +1000
              Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-05-22 02:55 +0000
          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 17:29 +1000
        Re: for / while else doesn't make sense Bob Martin <bob.martin@excite.com> - 2016-05-20 07:45 +0100
      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-20 06:01 +1000
      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-19 14:11 -0600
      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-20 06:27 +1000
    Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-20 11:51 +1200
      Re: for / while else doesn't make sense Erik <python@lucidity.plus.com> - 2016-05-20 09:09 +0100
      Re: for / while else doesn't make sense Zachary Ware <zachary.ware+pylist@gmail.com> - 2016-05-20 10:59 -0500
      Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 12:20 -0700
        Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 08:43 +1000
          Re: for / while else doesn't make sense theherk@gmail.com - 2016-05-20 16:24 -0700
            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 09:03 +0300
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-21 21:26 +1000
                Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-21 07:51 -0600
                Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-21 15:20 +0000
          Re: for / while else doesn't make sense Ben Finney <ben+python@benfinney.id.au> - 2016-05-21 10:21 +1000
          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-21 00:35 +0000
            Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 12:05 +1000
              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 14:15 +0000
                Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-22 17:58 +0300
                  Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 15:09 +0000
                  Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 08:26 -0700
                  Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 13:25 -0400
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 10:34 -0700
                    Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 18:06 +0000
                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 14:17 -0400
                    Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 17:09 +1000
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-23 01:19 +1000
                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 01:32 +1000
                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-22 18:50 +0300
                  Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 15:52 +0000
                    Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 02:35 +1000
                      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 16:46 +0000
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 10:22 -0700
                        Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 13:30 -0400
                          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-22 17:55 +0000
                            Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-22 14:14 -0400
                            Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-22 20:51 +0100
                              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 00:34 +0000
                            Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-22 17:04 -0600
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-23 08:09 +1000
                      Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 00:36 +0000
                        Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-23 11:01 +1000
                          Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 01:00 +0000
                            Re: for / while else doesn't make sense breamoreboy@gmail.com - 2016-05-22 18:47 -0700
                              Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 15:35 +0000
                            Re: for / while else doesn't make sense MRAB <python@mrabarnett.plus.com> - 2016-05-23 02:51 +0100
                        Re: for / while else doesn't make sense Ben Finney <ben+python@benfinney.id.au> - 2016-05-23 14:13 +1000
                          Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 23:09 -0700
                            Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-23 09:30 +0300
                              Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-22 23:46 -0700
                            Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 18:09 +1000
                              Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 08:14 -0600
                                Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 15:29 +0100
                                  Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 08:49 -0600
                                    Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-23 19:16 +0100
                                      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 13:24 -0600
                                        Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-23 22:50 +0100
                                          Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-24 18:49 +1200
                                            Re: for / while else doesn't make sense Pete Forman <petef4+usenet@gmail.com> - 2016-05-24 19:03 +0100
                                              Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-25 18:35 +1200
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 10:38 +1000
                                  Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 00:57 +1000
                                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 01:47 +1000
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 01:57 +1000
                                    Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 17:51 +0100
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 02:59 +1000
                                        Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 20:55 +0100
                                          Re: for / while else doesn't make sense Mark Dickinson <mdickinson@enthought.com> - 2016-05-23 20:17 +0000
                                            Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 22:01 +0100
                                            Numerical methods [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-24 10:57 +1000
                                  Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-23 08:30 -0700
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 10:02 -0600
                                    Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-23 20:22 +0000
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 09:53 -0600
                                      When were real numbers born? (was for / while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-05-23 22:02 -0700
                                    Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-23 15:36 -0700
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 11:05 +1000
                                        Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-05-23 19:19 -0700
                                          META Culture of this place [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-25 02:43 +1000
                                            Re: META Culture of this place [was Re: for / while else doesn't make sense] boB Stepp <robertvstepp@gmail.com> - 2016-05-24 12:19 -0500
                                            Re: META Culture of this place [was Re: for / while else doesn't make sense] Ned Batchelder <ned@nedbatchelder.com> - 2016-05-24 10:44 -0700
                                              Re: META Culture of this place [was Re: for / while else doesn't make sense] Paul Rubin <no.email@nospam.invalid> - 2016-05-24 12:54 -0700
                                        Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-24 14:23 +0000
                                        Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-24 10:40 -0700
                                          Re: for / while else doesn't make sense Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-25 18:38 +1200
                                            Extended ASCII [was Re: for / while else doesn't make sense] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-25 17:30 +1000
                                            Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-25 02:10 -0700
                                              Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-25 20:19 +1000
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-25 20:30 +1000
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-25 22:03 +0100
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-26 10:21 +0300
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-26 00:44 -0700
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:11 +0300
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-26 19:20 +1000
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 21:54 +0100
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-27 08:03 +0300
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-25 21:28 -0400
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 09:11 +0100
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:20 +0300
                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Erik <python@lucidity.plus.com> - 2016-05-26 21:29 +0100
                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 00:12 +0300
                                                        Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 13:35 +1000
                                                          Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 09:10 +0300
                                                            Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 16:47 +1000
                                                              Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 10:04 +0300
                                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-27 19:56 +1000
                                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Random832 <random832@fastmail.com> - 2016-05-27 09:51 -0400
                                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-27 08:53 -0700
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Random832 <random832@fastmail.com> - 2016-05-27 12:09 -0400
                                                                        Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-05-27 21:46 -0700
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-28 08:16 -0700
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Ned Batchelder <ned@nedbatchelder.com> - 2016-05-28 08:50 -0700
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) Random832 <random832@fastmail.com> - 2016-05-28 14:05 -0400
                                                                          Re: Coding systems are political (was Exended ASCII and code pages) Steven D'Aprano <steve@pearwood.info> - 2016-05-29 15:37 +1000
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-05-28 23:12 -0700
                                                                              Re: Coding systems are political (was Exended ASCII and code pages) Terry Reedy <tjreedy@udel.edu> - 2016-05-29 14:46 -0400
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) Christian Gollwitzer <auriocus@gmx.de> - 2016-05-29 22:29 +0200
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-30 06:35 -0700
                                                                                Re: Coding systems are political (was Exended ASCII and code pages) Rustom Mody <rustompmody@gmail.com> - 2016-06-04 20:54 -0700
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) alister <alister.ware@ntlworld.com> - 2016-05-29 06:19 +0000
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-29 20:54 +1200
                                                                              Re: Coding systems are political (was Exended ASCII and code pages) Marko Rauhamaa <marko@pacujo.net> - 2016-05-29 12:56 +0300
                                                                            Re: Coding systems are political (was Exended ASCII and code pages) wxjmfauth@gmail.com - 2016-05-30 09:11 -0700
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Chris Angelico <rosuav@gmail.com> - 2016-05-28 02:16 +1000
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-28 18:54 +1000
                                                                    Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-27 22:03 +0300
                                                                      Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-27 21:23 -0700
                                                  Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Rustom Mody <rustompmody@gmail.com> - 2016-05-26 03:39 -0700
                                                Re: Exended ASCII and code pages [was Re: for / while else doesn't make sense] Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-26 07:07 -0400
                                              Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-25 13:47 +0300
                                                Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-25 05:19 -0700
                                                Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-25 22:49 -0700
                                                  Re: for / while else doesn't make sense Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-05-26 09:54 +0300
                                                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-26 00:44 -0700
                                                    Re: for / while else doesn't make sense wxjmfauth@gmail.com - 2016-05-26 00:52 -0700
                                                  Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-26 12:05 +0300
                                                    Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-29 14:41 -0400
                                                      Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-05-29 22:01 +0300
                                    Re: for / while else doesn't make sense Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-23 20:07 -0400
                                    Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 10:11 +1000
                                  Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 02:59 +1000
                                    Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 17:09 +0000
                                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 03:33 +1000
                                        Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-23 17:57 +0000
                                          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-24 04:14 +1000
                                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-05-23 13:44 -0400
                                      Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-05-23 11:52 -0600
                                      Re: for / while else doesn't make sense Alan Evangelista <alanoe@linux.vnet.ibm.com> - 2016-05-23 15:06 -0300
                                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-24 12:15 +1000
                                        Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-24 10:54 +0000
                                          Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-05-25 03:44 +1000
                                            Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-25 03:49 +1000
                                            Re: for / while else doesn't make sense MRAB <python@mrabarnett.plus.com> - 2016-05-24 19:57 +0100
                                            Re: for / while else doesn't make sense Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2016-05-24 20:10 +0000
                                    Re: for / while else doesn't make sense Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-05-23 20:29 +0100
                        Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-05-23 18:33 +1000
          Re: for / while else doesn't make sense Grant Edwards <grant.b.edwards@gmail.com> - 2016-05-21 02:17 +0000
          Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 18:23 -0700
          Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-05-21 12:31 +1000
          Re: for / while else doesn't make sense Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-20 20:47 -0700
        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-05-20 22:18 -0700
          Education [was Re: for / while else doesn't make sense] Steven D'Aprano <steve@pearwood.info> - 2016-05-21 20:05 +1000
            Re: Education [was Re: for / while else doesn't make sense] Christopher Reimer <christopher_reimer@icloud.com> - 2016-05-21 08:51 -0700
              Re: Education [was Re: for / while else doesn't make sense] Marko Rauhamaa <marko@pacujo.net> - 2016-05-21 20:08 +0300
                Re: Education [was Re: for / while else doesn't make sense] Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-05-23 16:44 +0000
    Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-01 16:39 -0700
      Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-02 13:44 +1000
      Re: for / while else doesn't make sense Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-06-02 20:09 +0000
        Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-02 14:46 -0600
        Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-02 21:52 +0100
          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 18:05 -0700
            Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-03 10:23 +0100
          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 19:47 -0700
            Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-03 10:32 +0100
              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 09:22 -0700
                Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 12:20 +1000
                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 20:41 -0700
                    Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 19:27 +1000
                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-04 20:20 -0700
                Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-04 13:55 +0100
        Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 18:08 -0700
          Re: for / while else doesn't make sense Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-06-03 15:52 +0000
            Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 09:24 -0700
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-04 13:00 +1000
                Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 20:43 -0700
                  Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-04 04:37 -0700
                    Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-04 20:29 -0700
                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-05 16:35 +1000
                      Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-05 04:29 -0700
                        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-05 14:43 +0300
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-06 17:51 -0700
                            Re: for / while else doesn't make sense Dan Sommers <dan@tombstonezero.net> - 2016-06-07 03:34 +0000
                              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 00:53 -0700
                                Re: for / while else doesn't make sense Dan Sommers <dan@tombstonezero.net> - 2016-06-07 12:27 +0000
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 14:57 -0700
                            Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-06 22:35 -0600
                              Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 00:52 -0700
                                Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-07 11:00 +0300
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 15:07 -0700
                                    Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-07 17:31 -0700
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 18:25 -0700
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 18:29 -0700
                                        Re: for / while else doesn't make sense Ned Batchelder <ned@nedbatchelder.com> - 2016-06-07 18:40 -0700
                                        Re: for / while else doesn't make sense breamoreboy@gmail.com - 2016-06-07 20:45 -0700
                                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 08:24 +0300
                                Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-07 18:36 +1000
                                Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-07 05:52 -0600
                                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 14:58 -0700
                                    Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 01:06 +0300
                                      Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-07 15:08 -0700
                                        Re: for / while else doesn't make sense Marko Rauhamaa <marko@pacujo.net> - 2016-06-08 08:27 +0300
                                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-08 17:34 -0700
                                            Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-09 18:19 +1000
                                    Re: for / while else doesn't make sense Ian Kelly <ian.g.kelly@gmail.com> - 2016-06-07 17:11 -0600
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-06 17:53 -0700
      Re: for / while else doesn't make sense Ethan Furman <ethan@stoneleaf.us> - 2016-06-07 21:13 -0700
    Re: for / while else doesn't make sense pavlovevidence@gmail.com - 2016-06-12 00:01 -0700
      AttributeError into a bloc try-except AttributeError Vincent Vande Vyvre <vincent.vande.vyvre@telenet.be> - 2016-06-12 09:20 +0200
      Re: AttributeError into a bloc try-except AttributeError Vincent Vande Vyvre <vincent.vande.vyvre@telenet.be> - 2016-06-12 10:30 +0200
      Re: for / while else doesn't make sense Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2016-06-12 20:06 +1000
        Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-12 18:44 +0000
          Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-13 12:12 +1000
            Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-12 20:46 -0700
            Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-13 23:45 +0000
              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-14 12:43 +1000
                Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-14 04:37 +0000
                Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 08:33 -0700
                  Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-14 16:27 -0700
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 18:29 -0700
                  Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-15 13:12 +1000
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-14 20:38 -0700
                    Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 04:19 -0700
                      Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-15 13:27 +0100
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 05:44 -0700
                      Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 09:51 -0400
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 07:20 -0700
                          Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 11:54 -0400
                            Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 10:03 -0700
                              Re: for / while else doesn't make sense BartC <bc@freeuk.com> - 2016-06-15 18:27 +0100
                              Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-16 11:40 +1000
                          Re: for / while else doesn't make sense Michael Selik <michael.selik@gmail.com> - 2016-06-15 17:18 +0000
                          Re: for / while else doesn't make sense Random832 <random832@fastmail.com> - 2016-06-15 13:41 -0400
                        Re: for / while else doesn't make sense Rustom Mody <rustompmody@gmail.com> - 2016-06-15 07:31 -0700
                          Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 19:59 -0700
                        Re: for / while else doesn't make sense Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 19:54 -0700
                          What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-15 22:48 -0700
                            Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-15 22:57 -0700
                              Re: What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-16 04:12 -0700
                                Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-16 18:53 -0700
                                  Re: What is structured programming (was for/while else doesn't make sense) Rustom Mody <rustompmody@gmail.com> - 2016-06-17 09:32 -0700
                                    Re: What is structured programming (was for/while else doesn't make sense) Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-17 16:07 -0700
                      Re: for / while else doesn't make sense Chris Angelico <rosuav@gmail.com> - 2016-06-15 23:56 +1000
                      Re: for / while else doesn't make sense Steven D'Aprano <steve@pearwood.info> - 2016-06-16 11:19 +1000

Page 14 of 15 — ← Prev page 1 … 12 13 [14] 15  Next page →


#109961

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 04:19 -0700
Message-ID<26329884-d598-4f32-87b8-d75a3d109d20@googlegroups.com>
In reply to#109950
On Wednesday, June 15, 2016 at 8:42:33 AM UTC+5:30, Steven D'Aprano wrote:
> On Wed, 15 Jun 2016 01:33 am, Rustom Mody wrote:
> 
> > On Tuesday, June 14, 2016 at 8:13:53 AM UTC+5:30, Steven D'Aprano wrote:
> >> No. The sun exploding was me gently mocking you for your comment
> >> disputing the "unconditional" part. Yes, you are technically right that
> >> technically the "else" block will only run if no "break" is reached, and
> >> no "return" is reached, no exception is raised, also that os._exit or
> >> os.abort aren't called, the CPU doesn't catch fire, and the world isn't
> >> destroyed.
> >> 
> >> If we try to enumerate all the things which could prevent the "else"
> >> block from running, we'll be here for decades. But, and this is the point
> >> that everyone seems to have missed, * every single one of those things*
> >> is completely independent of the for...else statement.
> >> 
> >> *Including* the presence or absence of a "break".
> > 
> > This is real wild:  A break that is inside a for is independent of the
> > for?!?!
> 
> If that's what I said, you would be right to question me. But that's not
> what I said.
> 
> It is legal syntax to have for...else without a break, or a break inside a
> for block with no else. And, if you really want to nitpick, you can even
> have a break statement without a for. (Just stick it inside a while loop
> instead.)
> 
> I know that's it's great fun to pick at nits without making a good faith
> effort to communicate, but honestly Rustom, your following comments do
> suggest that you understood what I was saying.
> 
> 
> [...]
> > This *desire* for what you call isolation is a standard tenet of
> > semantics and is right
> > 
> > It is called compositionality
> > 
> > Inn programming:
> > https://en.wikipedia.org/wiki/Denotational_semantics#Compositionality
> > 
> > More general linguistics:
> > https://en.wikipedia.org/wiki/Principle_of_compositionality
> 
> Thanks for that.
> 
> 
> > However gotos break compositionality unless one introduces heavy artillery
> > like continuations
> > 
> > And break is a euphemism for goto
> 
> Sort of. A break is a jump, and a goto is a jump, but apart from that,
> they're not really the same thing. A goto can jump (almost) anywhere.
> Depending on the language, they can jump into the middle of functions, or
> into the middle of loops. That's what makes them powerful enough to break
> compositionality. But break can only jump to a single place: to the
> statement that follows the for...else compound statement. It's more like a
> return than a goto.

I thought there'd be many examples for showing that break is just goto in disguise... Evidently not

So here is an example in more detail for why/how   break=goto:

http://blog.languager.org/2016/06/break-is-goto-in-disguise.html

[Return/yield are more interesting and complicated...]

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


#109963

FromBartC <bc@freeuk.com>
Date2016-06-15 13:27 +0100
Message-ID<njrhjs$3bo$1@dont-email.me>
In reply to#109961
On 15/06/2016 12:19, Rustom Mody wrote:
> On Wednesday, June 15, 2016 at 8:42:33 AM UTC+5:30, Steven D'Aprano wrote:

>> Sort of. A break is a jump, and a goto is a jump, but apart from that,
>> they're not really the same thing. A goto can jump (almost) anywhere.
>> Depending on the language, they can jump into the middle of functions, or
>> into the middle of loops. That's what makes them powerful enough to break
>> compositionality. But break can only jump to a single place: to the
>> statement that follows the for...else compound statement. It's more like a
>> return than a goto.
>
> I thought there'd be many examples for showing that break is just goto in disguise... Evidently not
>
> So here is an example in more detail for why/how   break=goto:
>
> http://blog.languager.org/2016/06/break-is-goto-in-disguise.html

That example is nothing to do with break vs. goto. You've just replaced 
an erroneous goto with an erroneous break.

It's to do with C (or C-like syntax if not C) using braces for compound 
statements at the same time as making them optional for a single statement.

With the wrong indentation applied, that sort of error can easily be 
missed. Some tools may be able to pick that up.

(Another kind of error (C seems to have plenty of capacity in this 
regard!) is forgetting the */ in a /* ... */ comment. Then code is 
mysteriously ignored until the end of the next /* ... */ comment. 
Although a syntax-highlighting editor will pick that up more easily.)

-- 
Bartc

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


#109965

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 05:44 -0700
Message-ID<47df9541-203b-47d9-bc0d-13b2df5c09cb@googlegroups.com>
In reply to#109963
On Wednesday, June 15, 2016 at 5:57:51 PM UTC+5:30, BartC wrote:
> On 15/06/2016 12:19, Rustom Mody wrote:
> > On Wednesday, June 15, 2016 at 8:42:33 AM UTC+5:30, Steven D'Aprano wrote:
> 
> >> Sort of. A break is a jump, and a goto is a jump, but apart from that,
> >> they're not really the same thing. A goto can jump (almost) anywhere.
> >> Depending on the language, they can jump into the middle of functions, or
> >> into the middle of loops. That's what makes them powerful enough to break
> >> compositionality. But break can only jump to a single place: to the
> >> statement that follows the for...else compound statement. It's more like a
> >> return than a goto.
> >
> > I thought there'd be many examples for showing that break is just goto in disguise... Evidently not
> >
> > So here is an example in more detail for why/how   break=goto:
> >
> > http://blog.languager.org/2016/06/break-is-goto-in-disguise.html
> 
> That example is nothing to do with break vs. goto. You've just replaced 
> an erroneous goto with an erroneous break.

Precisely the point -- that that erroneous goto could be an erroneous break
with minor changes to the code (One needs to be inside a break-able statement
like for/while (or for C do/switch)

> 
> It's to do with C (or C-like syntax if not C) using braces for compound 
> statements at the same time as making them optional for a single statement.
> 
> With the wrong indentation applied, that sort of error can easily be 
> missed. Some tools may be able to pick that up.
> 
> (Another kind of error (C seems to have plenty of capacity in this 
> regard!) is forgetting the */ in a /* ... */ comment. Then code is 
> mysteriously ignored until the end of the next /* ... */ comment. 
> Although a syntax-highlighting editor will pick that up more easily.)

As the links point out there can be any amt of post-mortem analysis
- gcc silently stopped dead code warnings
- the misleading indent -- could be detected by tools
- etc

Doesnt change the fact that that misplaced goto could be a misplaced break
And either did/would JUMP OVER critical code wrongly

tl;dr:
A rose by any name smells sweet
A goto by any name goes-to

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


#109968

FromRandom832 <random832@fastmail.com>
Date2016-06-15 09:51 -0400
Message-ID<mailman.70.1465998700.2288.python-list@python.org>
In reply to#109961
On Wed, Jun 15, 2016, at 07:19, Rustom Mody wrote:
> I thought there'd be many examples for showing that break is just goto in
> disguise... Evidently not
>
> So here is an example in more detail for why/how   break=goto:
> 
> http://blog.languager.org/2016/06/break-is-goto-in-disguise.html

So?

So are loops. So is any "if" statement whose body isn't itself a
one-line goto. Showing that break can be written as a goto is
uninteresting because _any_ form of flow control can be written as a
goto, and in particular it does not establish that break is in any way
less structured than any other constructs that have keywords.

C's for loop:

for(i=0;i<n;i++)
    { body...; }

is syntactic sugar for:

i=0;
loop: body;
inc: i++;
if(i<n) goto loop;
end: ;

[break within body -> goto end;]
[continue within body -> goto inc;]

if(x) true_body; else false_body;

is syntactic sugar for:

if(!x) goto else;
true_body;
goto end;
else: false_body;
end: ;

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


#109972

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 07:20 -0700
Message-ID<97fd5175-0cc4-449d-a56d-bf7e238cbea3@googlegroups.com>
In reply to#109968
On Wednesday, June 15, 2016 at 7:21:54 PM UTC+5:30, Random832 wrote:
> On Wed, Jun 15, 2016, at 07:19, Rustom Mody wrote:
> > I thought there'd be many examples for showing that break is just goto in
> > disguise... Evidently not
> >
> > So here is an example in more detail for why/how   break=goto:
> > 
> > http://blog.languager.org/2016/06/break-is-goto-in-disguise.html
> 
> So?
> 
> So are loops. So is any "if" statement whose body isn't itself a
> one-line goto. Showing that break can be written as a goto is
> uninteresting because 

Where did the question of "break can be written as goto" come from?
Sure all structured constructs have their unstructured counterparts
And that is uninteresting as you say.

Claim is that the damaging propensities of goto are replicable with break.

Well to some extent... the goto can go from anywhere to anywhere within 
function scope, whereas the break's target-end is fixed -- the end of the 
loop/switch. However the starting end can be anywhere in there and that is
a potential for unstructured damage

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


#109980

FromRandom832 <random832@fastmail.com>
Date2016-06-15 11:54 -0400
Message-ID<mailman.76.1466006044.2288.python-list@python.org>
In reply to#109972
On Wed, Jun 15, 2016, at 10:20, Rustom Mody wrote:
> Claim is that the damaging propensities of goto are replicable with
> break.

The "damaging propensity" in this particular case simply comes from the
fact that it's a statement that can appear in the body of an if
statement (the real flaw that caused the bug here here was the optional
braces of the if statement), which is just as true of anything else. It
could have called a function that it shouldn't have called.

But a lot of people do claim that break should be generally "considered
harmful" just like goto and never used at all because of this
isomorphism.

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


#109983

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 10:03 -0700
Message-ID<a2e9e70a-30be-4f38-af97-ded26405f9cd@googlegroups.com>
In reply to#109980
On Wednesday, June 15, 2016 at 9:24:21 PM UTC+5:30, Random832 wrote:
> On Wed, Jun 15, 2016, at 10:20, Rustom Mody wrote:
> > Claim is that the damaging propensities of goto are replicable with
> > break.
> 
> The "damaging propensity" in this particular case simply comes from the
> fact that it's a statement that can appear in the body of an if
> statement (the real flaw that caused the bug here here was the optional
> braces of the if statement), which is just as true of anything else. It
> could have called a function that it shouldn't have called.

People have adduced various reasons:
1. Optionality of braces
2. gcc silently non-mentioning dead code
3. indentation and braces mismatch -- were it python(ish) the second goto would
be harmless dead code INSIDE the if
4. Careless merging
5. Culture of cut-paste
6. All kinds of soft questions -- code should be reviewed/pair-programmed/etc
7. Even more irrelevant soft point -- Apple is a bad company for being thus irresponsible
8. etc 

> 
> But a lot of people do claim that break should be generally "considered
> harmful" just like goto and never used at all because of this
> isomorphism.

Minor point: I dont think isomorphism is correct
As I said the goto can originate anywhere and target to anywhere (in function scope). Not break
longjmp can scale function scopes but has other restrictions like respecting the
stack, the setjmp-site needs to have been visited first.
IOW different unstructured constructs have differing properties

Major point:  "Considered harmful" should be considered harmful :-)
IOW cargo-cult programming without any understanding is worse than specific fads
There are things -- eg automata -- where the most faithful rendering is with
gotos: : labels for states, gotos for transitions.  Any 'more structured' solution is usually more messy.

OTOH Duff's device shows terrifyingly unstructured code with nary a goto/break 
in sight

So break also has its uses. Lets just not pretend its structured

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


#109985

FromBartC <bc@freeuk.com>
Date2016-06-15 18:27 +0100
Message-ID<njs363$8ts$1@dont-email.me>
In reply to#109983
On 15/06/2016 18:03, Rustom Mody wrote:

> OTOH Duff's device shows terrifyingly unstructured code with nary a goto/break
> in sight

I agree, and these mostly originate in C. It's full of crude features 
that should have been pensioned off decades ago, but amazingly it is 
still around and highly influential!

> So break also has its uses. Lets just not pretend its structured

It's a short-circuit operator that gets you to the end of the current 
loop block.

There's one here too:

    if a:
       b
       c
    else:
       d

It's called 'else' and is unconditional (when you finish executing the 
'c' line, you then skip to the end of the next block).

This is another short-circuit operator:

   if a and b(c):
      d
      e

(I assume Python has short-circuit evaluation; if not then plenty of 
languages do). When a is False, the b(c) function call is skipped.)

If that's not enough, then 'return' in most languages will let you 
return early from a routine, skipping the rest of the function.

-- 
Bartc

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


#110004

FromSteven D'Aprano <steve@pearwood.info>
Date2016-06-16 11:40 +1000
Message-ID<5762039a$0$1617$c3e8da3$5496439d@news.astraweb.com>
In reply to#109983
On Thu, 16 Jun 2016 03:03 am, Rustom Mody wrote:

> So break also has its uses. Lets just not pretend its structured


What's your definition of "structured" that makes "break" unstructured?

Suppose I have a language, L, with a keyword "fnord". How do I tell whether
the fnord feature makes the language unstructured or not?




-- 
Steven

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


#109984

FromMichael Selik <michael.selik@gmail.com>
Date2016-06-15 17:18 +0000
Message-ID<mailman.78.1466011115.2288.python-list@python.org>
In reply to#109972
On Wed, Jun 15, 2016, 10:28 AM Rustom Mody <rustompmody@gmail.com> wrote:

> Where did the question of "break can be written as goto" come from?
>

Stephen said the "else" in for-else was "unconditional". He argued that
neither the presence nor absence of a break should be considered a
condition, because we don't consider the occurrence or non-occurrence of an
exception (goto) as a condition of whether to run the else-clause.

>

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


#109987

FromRandom832 <random832@fastmail.com>
Date2016-06-15 13:41 -0400
Message-ID<mailman.79.1466012463.2288.python-list@python.org>
In reply to#109972
On Wed, Jun 15, 2016, at 13:18, Michael Selik wrote:
> On Wed, Jun 15, 2016, 10:28 AM Rustom Mody <rustompmody@gmail.com> wrote:
> 
> > Where did the question of "break can be written as goto" come from?
> >
> 
> Stephen said the "else" in for-else was "unconditional". He argued that
> neither the presence nor absence of a break should be considered a
> condition, because we don't consider the occurrence or non-occurrence of
> an
> exception (goto) as a condition of whether to run the else-clause.

Okay... so why don't we consider the else in *if*-else unconditional?
After all, the same logic applies: it only doesn't run if a statement
defined to jump past it (in one case, the true part of the if statement
- in the other case, a break) is run.

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


#109973

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 07:31 -0700
Message-ID<ad63444e-a62d-41ad-8e5d-df9a4e54f88d@googlegroups.com>
In reply to#109968
On Wednesday, June 15, 2016 at 7:21:54 PM UTC+5:30, Random832 wrote:
> On Wed, Jun 15, 2016, at 07:19, Rustom Mody wrote:
> > I thought there'd be many examples for showing that break is just goto in
> > disguise... Evidently not
> >
> > So here is an example in more detail for why/how   break=goto:
> > 
> > http://blog.languager.org/2016/06/break-is-goto-in-disguise.html
> 
> So?
> 
> So are loops. So is any "if" statement whose body isn't itself a
> one-line goto. Showing that break can be written as a goto is
> uninteresting because _any_ form of flow control can be written as a
> goto, and in particular it does not establish that break is in any way
> less structured than any other constructs that have keywords.

Here is C.A.R Hoare's Turing award speech:
https://www.cs.fsu.edu/~engelen/courses/COP4610/hoare.pdf

in which (2nd last page) he claims that Ada is a threat to civilization...
because it has something as terrible as exceptions.

We may or may not agree with his threatening thoughts
Which is different from seeing the simple fact that exceptions are unstructured

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


#110009

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-15 19:59 -0700
Message-ID<4becfad1-f095-4f12-a4f4-bac9aa12b0db@googlegroups.com>
In reply to#109973
On Thursday, June 16, 2016 at 2:32:00 AM UTC+12, Rustom Mody wrote:

> Here is C.A.R Hoare's Turing award speech:
> https://www.cs.fsu.edu/~engelen/courses/COP4610/hoare.pdf
> 
> in which (2nd last page) he claims that Ada is a threat to civilization...
> because it has something as terrible as exceptions.

He was wrong about the dangers of Ada. It has been successfully used in many life-critical situations (e.g. the life support system on the International Space Station).

He was a fan of the simplicity of Pascal, though that speech says nothing about C (and C++ hadn’t been invented yet...). In the end, I guess, Pascal proved too fiddly to do things in that C could manage easily.

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


#110008

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-15 19:54 -0700
Message-ID<b5a22d4c-b637-4e51-a189-785d2893c371@googlegroups.com>
In reply to#109968
On Thursday, June 16, 2016 at 1:51:54 AM UTC+12, Random832 wrote:
> ... and in particular it does not establish that break is in any way
> less structured than any other constructs that have keywords.

Interesting that those who objected to my use of while-True-break loops could not come up with any unified alternative way of writing them. Every single example I posted had to be handled differently, as opposed to my common way of dealing with them.

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


#110014 — What is structured programming (was for/while else doesn't make sense)

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-15 22:48 -0700
SubjectWhat is structured programming (was for/while else doesn't make sense)
Message-ID<3d4a1a33-a404-47ff-ac89-7787311945c0@googlegroups.com>
In reply to#110008
On Thursday, June 16, 2016 at 8:25:10 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> On Thursday, June 16, 2016 at 1:51:54 AM UTC+12, Random832 wrote:
> > ... and in particular it does not establish that break is in any way
> > less structured than any other constructs that have keywords.
> 
> Interesting that those who objected to my use of while-True-break loops could 
> not come up with any unified alternative way of writing them. Every single 
> example I posted had to be handled differently, as opposed to my common way of 
> dealing with them.



Thanks for raising the example of your code -- I hesitated to do so :-)
It answers better than I could Steven's very interesting question:
"What's your definition of structured?"

Everyone -- including Steven -- who commented on it did so with a variation
on "Ugh!" , "Yikes!" etc.

If you (Steven) takes these subjective/emotional outbursts and tries to 
objectivize them -- "What's there to ugh about?" I believe you will come to
some definition of structured.

Of course we could give a more formal definition -- I am not sure that line
is so interesting.

Should admit that I tried to look up 'structured' and found precious little¹

So here is the formal definition I remember from decades ago:

A structured flow-graph is one that has a single point of entry and exit.
And is recursively made from smaller structured flow graphs
With a finite set of 'graph combinators'

A structured program is one who's flow graph is structured

As I said I dont find this definition very useful since
break is unstructured as is return, yield and much else.

Cognitively though it's the other way round: goto/break-filled code is -- in 
some informal sense -- more unstructured than return-filled code.
And Ian's yield based code cleans up -- at least to most of our eyes/noses! -- 
your break-based code.

Note that in terms of the formal definition, yield jumps around more than 
return jumps around more than break.

Yet informally we (at least I) think of the generator
def gen():
  yield 1
  yield 2
  yield 3

not in terms of control flow but as data: a lazy, space-non-wasting form of
the list [1,2,3]

So what's a USEFUL definition of structured?? Interesting question!

-----------------
¹ Which probably proves that I am fast getting into the generation for which the
picturesque Tamil saying applies: "House says Go! Go! Grave says Come Come!"

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


#110015 — Re: What is structured programming (was for/while else doesn't make sense)

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-15 22:57 -0700
SubjectRe: What is structured programming (was for/while else doesn't make sense)
Message-ID<7180ce45-9e59-443b-8303-e9492af9752d@googlegroups.com>
In reply to#110014
On Thursday, June 16, 2016 at 5:48:48 PM UTC+12, Rustom Mody wrote:
> On Thursday, June 16, 2016 at 8:25:10 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> So here is the formal definition I remember from decades ago:
> 
> A structured flow-graph is one that has a single point of entry and exit.
> And is recursively made from smaller structured flow graphs
> With a finite set of 'graph combinators'
> 
> A structured program is one who's flow graph is structured
> 
> As I said I dont find this definition very useful since
> break is unstructured as is return, yield and much else.

On the contrary, it fits in nicely. Imagine trying to represent your code as a Nassi-Shneiderman diagram. This consists (recursively) of nested and/or concatenated sub-diagrams. Each piece has one entry point at the top, and one exit point at the bottom. In particular, it is *not possible* to express a goto that jumps from one arbitrary point to another--everything must strictly nest.

For example, a loop is entered at the top, and exited at the bottom. A “break” in the loop can cut it short, but it cannot violate this rule.

Even my C code follows this nesting principle, because it is goto-free.

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


#110031 — Re: What is structured programming (was for/while else doesn't make sense)

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-16 04:12 -0700
SubjectRe: What is structured programming (was for/while else doesn't make sense)
Message-ID<17c484d6-e741-4b24-bed0-cf19b57012a4@googlegroups.com>
In reply to#110015
On Thursday, June 16, 2016 at 11:27:15 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> On Thursday, June 16, 2016 at 5:48:48 PM UTC+12, Rustom Mody wrote:
> > On Thursday, June 16, 2016 at 8:25:10 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> > So here is the formal definition I remember from decades ago:
> > 
> > A structured flow-graph is one that has a single point of entry and exit.
> > And is recursively made from smaller structured flow graphs
> > With a finite set of 'graph combinators'
> > 
> > A structured program is one who's flow graph is structured
> > 
> > As I said I dont find this definition very useful since
> > break is unstructured as is return, yield and much else.
> 
> On the contrary, it fits in nicely. Imagine trying to represent your code as a Nassi-Shneiderman diagram. This consists (recursively) of nested and/or concatenated sub-diagrams. Each piece has one entry point at the top, and one exit point at the bottom. In particular, it is *not possible* to express a goto that jumps from one arbitrary point to another--everything must strictly nest.
> 
> For example, a loop is entered at the top, and exited at the bottom. A “break” in the loop can cut it short, but it cannot violate this rule.
> 
> Even my C code follows this nesting principle, because it is goto-free.

Please see https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram

| Nassi–Shneiderman diagrams have no representation for a GOTO statement.

which seems to be what you are saying. But then next para goes on...

| Nassi–Shneiderman diagrams are (almost) isomorphic with
| flowcharts. Everything you can represent with a Nassi–Shneiderman
| diagram you can also represent with a flowchart. For flowcharts
| of programs, almost everything you can represent with a flowchart
| you can also represent with a Nassi–Shneiderman diagram. The
| exceptions are constructs like goto and the C programming
| language break and continue statements for loops.

which is in line with what I am saying, viz that break/continue/goto are same
in the sense of being 'unstructured' and therefore do not fit into a structured
framework like NSDs

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


#110041 — Re: What is structured programming (was for/while else doesn't make sense)

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-16 18:53 -0700
SubjectRe: What is structured programming (was for/while else doesn't make sense)
Message-ID<2a91ecef-a71b-4523-8912-3511d7c8e211@googlegroups.com>
In reply to#110031
On Thursday, June 16, 2016 at 11:13:14 PM UTC+12, Rustom Mody wrote:

> Please see https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram
> 
> | Nassi–Shneiderman diagrams are (almost) isomorphic with
> | flowcharts. Everything you can represent with a Nassi–Shneiderman
> | diagram you can also represent with a flowchart.
> 
> which is in line with what I am saying, viz that break/continue/goto are same
> in the sense of being 'unstructured' and therefore do not fit into a
> structured framework like NSDs

This is just a restatement of the “structure theorem”, which proves that structured control statements are mathematically equivalent to gotos, and anything that can be expressed one way can be expressed the other way.

True, but a complete red herring.

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


#110054 — Re: What is structured programming (was for/while else doesn't make sense)

FromRustom Mody <rustompmody@gmail.com>
Date2016-06-17 09:32 -0700
SubjectRe: What is structured programming (was for/while else doesn't make sense)
Message-ID<ef2de734-19ed-4b6c-9fe9-9ea93d2a5818@googlegroups.com>
In reply to#110041
On Friday, June 17, 2016 at 7:23:27 AM UTC+5:30, Lawrence D’Oliveiro wrote:
> On Thursday, June 16, 2016 at 11:13:14 PM UTC+12, Rustom Mody wrote:
> 
> > Please see https://en.wikipedia.org/wiki/Nassi%E2%80%93Shneiderman_diagram
> > 
> > | Nassi–Shneiderman diagrams are (almost) isomorphic with
> > | flowcharts. Everything you can represent with a Nassi–Shneiderman
> > | diagram you can also represent with a flowchart.
> > 
> > which is in line with what I am saying, viz that break/continue/goto are same
> > in the sense of being 'unstructured' and therefore do not fit into a
> > structured framework like NSDs
> 
> This is just a restatement of the “structure theorem”, which proves that structured control statements are mathematically equivalent to gotos, and anything that can be expressed one way can be expressed the other way.
> 
> True, but a complete red herring.

I wonder whether "red herring" is your red herring <wink>


You talk of THE structure theorem.  Is there one?
Wikipedia's https://en.wikipedia.org/wiki/Structured_program_theorem has a 
references section with some two dozen links.

Many of these pull in significantly opposite direction with small changes in
conditions/clauses/definitions etc.

Here is a selection. Which is for you "THE theorem"?

[WHILE means language of structured programs -- think prototypical Pascal

FLOW is language of flowcharts]
===================================

Böhm and Jacopini show that that WHILE is equivalent to FLOW by showing
how to translate every program in FLOW into WHILE.  [Reverse translation is trivial] However...
Ashcroft and Manna [Translation of Goto to while]
Can every flowchart program be translated into an equivalent while
program without adding extra variables? (i.e., using only the original
state vector). NO!

[They go on]
Bohm and Jacopini have shown that every FLOW program can
be effectively translated into an equivalent WHILE program (WITH ONE WHILE
statement) hence the topology of the program is changed...
We (Ashcroft and Manna) show how to transform flowchart into while *preserving* topology.


Knuth and Floyd: [Notes on avoiding goto statements]
prove the existence of programs whose go to
statements cannot be eliminated without introducing procedure calls.

Kosaraju proved that it's possible to avoid adding additional variables in structured programming, as long as arbitrary-depth, multi-level breaks from loops are allowed.[1][14] Furthermore, Kosaraju proved that a strict hierarchy of programs exists, nowadays called the Kosaraju hierarchy, in that for every integer n, there exists a program containing a multi-level break of depth n that cannot be rewritten as program with multi-level breaks of depth less than n (without introducing additional variables)


=================================
IOW when you say "mathematically equivalent" you can mean whatever you like!!
Unless you clarify in what sense 'equivalent'

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


#110064 — Re: What is structured programming (was for/while else doesn't make sense)

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-17 16:07 -0700
SubjectRe: What is structured programming (was for/while else doesn't make sense)
Message-ID<b99829c6-2a8d-4be9-aae3-e2e18498f734@googlegroups.com>
In reply to#110054
On Saturday, June 18, 2016 at 4:32:26 AM UTC+12, Rustom Mody wrote:

> I wonder whether "red herring" is your red herring <wink>

I wasn’t the one trying to draw a completely spurious equivalence between structured programming and gotos.

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


Page 14 of 15 — ← Prev page 1 … 12 13 [14] 15  Next page →

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


csiph-web