Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #108830 > unrolled thread
| Started by | Herkermer Sherwood <theherk@gmail.com> |
|---|---|
| First post | 2016-05-19 09:31 -0700 |
| Last post | 2016-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.
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 →
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-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]
| From | BartC <bc@freeuk.com> |
|---|---|
| Date | 2016-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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Random832 <random832@fastmail.com> |
|---|---|
| Date | 2016-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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Random832 <random832@fastmail.com> |
|---|---|
| Date | 2016-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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-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]
| From | BartC <bc@freeuk.com> |
|---|---|
| Date | 2016-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]
| From | Steven D'Aprano <steve@pearwood.info> |
|---|---|
| Date | 2016-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]
| From | Michael Selik <michael.selik@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Random832 <random832@fastmail.com> |
|---|---|
| Date | 2016-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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-06-15 22:48 -0700 |
| Subject | What 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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-06-15 22:57 -0700 |
| Subject | Re: 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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-06-16 04:12 -0700 |
| Subject | Re: 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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-06-16 18:53 -0700 |
| Subject | Re: 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]
| From | Rustom Mody <rustompmody@gmail.com> |
|---|---|
| Date | 2016-06-17 09:32 -0700 |
| Subject | Re: 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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-06-17 16:07 -0700 |
| Subject | Re: 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