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


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

Python is DOOMED! Again!

Started bySteven D'Aprano <steve+comp.lang.python@pearwood.info>
First post2015-01-22 15:30 +1100
Last post2015-01-30 02:11 +0000
Articles 17 on this page of 277 — 34 participants

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


Contents

  Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-22 15:30 +1100
    Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 15:43 +1100
    Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-21 21:35 -0800
      Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-21 21:56 -0800
      Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 06:12 +0000
    Re: Python is DOOMED! Again! Nicholas Cole <nicholas.cole@gmail.com> - 2015-01-22 05:50 +0000
    Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 16:56 +1100
    Re: Python is DOOMED! Again! Ethan Furman <ethan@stoneleaf.us> - 2015-01-21 22:02 -0800
      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-22 18:23 +1100
        Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 09:10 +0100
          Re: Python is DOOMED! Again! Nicholas Cole <nicholas.cole@gmail.com> - 2015-01-22 09:37 +0000
            Re: Python is DOOMED! Again! alex23 <wuwei23@gmail.com> - 2015-01-23 20:10 +1000
          Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 21:09 +1100
            Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 10:37 +0000
              Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 21:44 +1100
                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 11:06 +0000
              Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 12:24 -0800
            Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 01:57 +1100
              Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 02:13 +1100
          Python is DOOMED! Again! Nicholas Cole <nicholas.cole@gmail.com> - 2015-01-22 10:46 +0000
          Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 21:50 +1100
            Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 11:12 +0000
              Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 23:14 +1100
          Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 01:16 +1100
            Re: Python is DOOMED! Again! Jon Ribbens <jon+usenet@unequivocal.co.uk> - 2015-01-22 14:33 +0000
            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 02:11 +1100
              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 21:59 +1100
                Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 22:38 +1100
                  Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-24 17:35 +1100
                    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-24 14:42 +0000
                      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-25 03:00 +1100
                        Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-25 03:27 +1100
                          Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-25 04:31 +1100
                            Re: Python is DOOMED! Again! Tim Chase <python.list@tim.thechases.com> - 2015-01-24 12:46 -0600
                              Re: Python is DOOMED! Again! Rustom Mody <rustompmody@gmail.com> - 2015-01-24 10:59 -0800
                              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-25 13:22 +1100
                            Re: Python is DOOMED! Again! alister <alister.nospam.ware@ntlworld.com> - 2015-01-24 21:14 +0000
                              Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-24 14:51 -0700
                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-24 23:30 +0100
                Re: Python is DOOMED! Again! BartC <bc@freeuk.com> - 2015-01-26 17:00 +0000
                  Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-27 11:22 +1100
            Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-22 11:25 -0800
              Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 19:56 +0000
              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 12:41 +1100
            Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-22 14:24 -0700
              Re: Python is DOOMED! Again! Rustom Mody <rustompmody@gmail.com> - 2015-01-22 18:59 -0800
                Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-23 00:11 -0800
                Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-23 09:28 -0700
              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 16:37 +1100
          Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-22 11:23 -0800
        Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 00:42 -0800
          Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-01-22 12:05 +0200
            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-22 21:13 +1100
            Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 18:11 +0000
          Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 10:31 +0000
            Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 12:23 -0800
              Re: Python is DOOMED! Again! MRAB <python@mrabarnett.plus.com> - 2015-01-22 20:46 +0000
              Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 22:06 +0100
      Re: Python is DOOMED! Again! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-02-08 00:45 +0000
        Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-08 12:01 +1100
          Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-08 18:55 +1100
            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-08 19:21 +1100
        Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-08 01:31 -0700
          Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-02-08 12:17 +0200
    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 06:22 +0000
    Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-21 22:25 -0800
      Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-21 22:48 -0800
        Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 00:24 -0800
          Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 08:40 +0000
            Re: Python is DOOMED! Again! Grant Edwards <invalid@invalid.invalid> - 2015-01-23 03:40 +0000
          Re: Python is DOOMED! Again! Terry Reedy <tjreedy@udel.edu> - 2015-01-22 14:20 -0500
    Re: Python is DOOMED! Again! Nicholas Cole <nicholas.cole@gmail.com> - 2015-01-22 07:40 +0000
    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 09:10 +0000
    Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 18:03 +0000
      Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-01-22 21:08 +0200
        Re: Python is DOOMED! Again! wxjmfauth@gmail.com - 2015-01-23 01:19 -0800
      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 16:34 +1100
    Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-22 12:14 -0600
      Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 12:38 -0800
    Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 18:23 +0000
    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 18:28 +0000
      Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-01-22 21:16 +0200
        Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-22 11:36 -0800
        Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 11:16 +1100
          Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-23 06:29 +0000
      Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 12:44 -0800
        Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 20:50 +0000
        Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 23:25 +0100
          Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 17:06 -0800
            Re: Python is DOOMED! Again! Terry Reedy <tjreedy@udel.edu> - 2015-01-22 22:59 -0500
            Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 15:23 +1100
              Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-23 19:00 -0800
                Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-24 18:48 +1100
                  Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-24 09:30 +0000
                  Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-24 15:20 -0800
                    Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-25 10:30 +1100
                      Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-25 00:39 +0100
                        Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-25 10:44 +1100
                    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-24 23:55 +0000
                      Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-24 17:00 -0800
                        Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-25 02:28 +0000
                    Re: Python is DOOMED! Again! wxjmfauth@gmail.com - 2015-01-25 10:57 -0800
              Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-26 10:01 -0500
                Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-27 11:11 +1100
                  Re: Python is DOOMED! Again! Dan Sommers <dan@tombstonezero.net> - 2015-01-27 01:09 +0000
                    Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-27 17:36 +1100
                      Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-27 18:59 +1100
                        Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-27 19:03 +1100
                      Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-27 12:26 -0500
                      Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-27 17:40 +0000
                  Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-26 17:10 -0800
                    Re: Python is DOOMED! Again! Steven D'Aprano <steve@pearwood.info> - 2015-01-27 06:32 +0000
                  Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-27 12:35 -0500
                  Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-27 12:37 -0500
                    Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-27 18:59 +0100
                      Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-28 07:40 +1100
                        Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-27 21:58 +0100
                          Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-28 08:08 +1100
                            Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-27 22:19 +0100
                              Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-28 08:24 +1100
                                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-27 22:35 +0100
                                  Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-27 22:39 +0100
                                  Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-28 08:53 +1100
                          Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-28 13:05 +1100
                      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-28 12:26 +1100
                        Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-28 08:10 -0600
                        Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-28 16:04 +0100
                          Re: Python is DOOMED! Again! wxjmfauth@gmail.com - 2015-01-28 07:40 -0800
                          Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-28 10:33 -0700
                            Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-29 11:37 +1100
                              Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-29 11:43 +1100
                              Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-29 09:34 +0100
                                Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-29 09:30 -0700
                                Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-30 03:41 +1100
                          Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-28 18:16 +0000
                            Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-29 09:23 +0100
                              Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-29 08:49 +0000
                              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-30 03:11 +1100
                                Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-29 13:12 -0800
                                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-30 19:36 +0100
                                  Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-01 14:06 +1100
                                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-30 19:42 +0100
                                  Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-30 14:50 -0700
                          Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-28 12:34 -0600
                          Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-28 12:36 -0600
                          Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-29 09:08 -0500
                            Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-30 02:56 +1100
                              Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-29 13:23 -0500
                                Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-31 22:56 +1100
                                  Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-01 01:53 +1100
                                    Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-01 14:16 +1100
                                      Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-01 14:46 +1100
                                      Re: Python is DOOMED! Again! Ethan Furman <ethan@stoneleaf.us> - 2015-01-31 20:31 -0800
                                        dunder-docs (was Python is DOOMED! Again!) Rustom Mody <rustompmody@gmail.com> - 2015-01-31 21:36 -0800
                                          Re: dunder-docs (was Python is DOOMED! Again!) Ethan Furman <ethan@stoneleaf.us> - 2015-02-01 00:12 -0800
                                          Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 03:20 +1100
                                            Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 03:55 +1100
                                              Re: dunder-docs (was Python is DOOMED! Again!) Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-01 10:31 -0700
                                            Re: dunder-docs (was Python is DOOMED! Again!) Rustom Mody <rustompmody@gmail.com> - 2015-02-01 19:52 -0800
                                              Re: dunder-docs (was Python is DOOMED! Again!) Rustom Mody <rustompmody@gmail.com> - 2015-02-01 20:04 -0800
                                                Re: dunder-docs (was Python is DOOMED! Again!) Rustom Mody <rustompmody@gmail.com> - 2015-02-01 20:22 -0800
                                            Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-02 17:55 +1300
                                              Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 18:15 +1100
                                                Re: dunder-docs (was Python is DOOMED! Again!) Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-01 23:41 -0800
                                                  Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 23:06 +1100
                                                    Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 23:09 +1100
                                                      Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 00:58 +1300
                                                    Re: dunder-docs (was Python is DOOMED! Again!) Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-02 05:00 -0800
                                                      Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-03 01:07 +1100
                                                        Re: dunder-docs (was Python is DOOMED! Again!) Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-03 01:24 -0800
                                                          Re: dunder-docs (was Python is DOOMED! Again!) Marko Rauhamaa <marko@pacujo.net> - 2015-02-03 12:38 +0200
                                                            Re: dunder-docs (was Python is DOOMED! Again!) Chris Angelico <rosuav@gmail.com> - 2015-02-03 21:49 +1100
                                                              Re: dunder-docs (was Python is DOOMED! Again!) Marko Rauhamaa <marko@pacujo.net> - 2015-02-03 13:27 +0200
                                                                Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 10:12 +1300
                                                                  Re: dunder-docs (was Python is DOOMED! Again!) Marko Rauhamaa <marko@pacujo.net> - 2015-02-03 23:28 +0200
                                                                    Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 11:43 +1300
                                                                      Re: dunder-docs (was Python is DOOMED! Again!) Marko Rauhamaa <marko@pacujo.net> - 2015-02-04 01:32 +0200
                                                                        Re: dunder-docs (was Python is DOOMED! Again!) Chris Angelico <rosuav@gmail.com> - 2015-02-04 10:39 +1100
                                                                        Re: dunder-docs (was Python is DOOMED! Again!) Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-02-03 23:41 +0000
                                                                        Re: dunder-docs (was Python is DOOMED! Again!) Ethan Furman <ethan@stoneleaf.us> - 2015-02-03 15:55 -0800
                                                                      Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-04 13:30 +1100
                                                                  Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-04 12:57 +1100
                                                                    Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 19:04 +1300
                                                          Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-04 04:40 +1100
                                                            Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 10:39 +1300
                                                            Re: dunder-docs (was Python is DOOMED! Again!) Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-03 15:04 -0700
                                                              Re: dunder-docs (was Python is DOOMED! Again!) Rick Johnson <rantingrickjohnson@gmail.com> - 2015-02-03 18:31 -0800
                                                            Re: dunder-docs (was Python is DOOMED! Again!) Chris Angelico <rosuav@gmail.com> - 2015-02-04 09:19 +1100
                                                              Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-04 13:30 +1100
                                                                Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-04 15:58 +1100
                                                                  Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 19:22 +1300
                                                                Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 19:22 +1300
                                                    Re: dunder-docs (was Python is DOOMED! Again!) Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-02 05:02 -0800
                                                      Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-03 01:20 +1100
                                                        Re: dunder-docs (was Python is DOOMED! Again!) Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-03 01:25 -0800
                                                    Re: dunder-docs (was Python is DOOMED! Again!) Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-04 00:32 +1300
                                            Re: dunder-docs (was Python is DOOMED! Again!) Vito De Tullio <vito.detullio@gmail.com> - 2015-02-02 06:26 +0100
                                              Re: dunder-docs (was Python is DOOMED! Again!) Rustom Mody <rustompmody@gmail.com> - 2015-02-02 04:27 -0800
                                                Re: dunder-docs (was Python is DOOMED! Again!) Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 23:43 +1100
                                          Re: dunder-docs (was Python is DOOMED! Again!) Chris Angelico <rosuav@gmail.com> - 2015-02-02 07:45 +1100
                                          Re: dunder-docs (was Python is DOOMED! Again!) Emile van Sebille <emile@fenx.com> - 2015-02-01 12:51 -0800
                                      Re: Python is DOOMED! Again! Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2015-02-01 11:35 -0500
                                  Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-31 22:12 -0800
                                    Re: Python is DOOMED! Again! Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-01-31 22:54 -0800
                                      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 03:34 +1100
                                        Re: Python is DOOMED! Again! Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-01 08:54 -0800
                                        Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 04:09 +1100
                                        Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 14:02 -0800
                                      Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 14:27 -0800
                                        Re: Python is DOOMED! Again! Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-01 14:52 -0800
                                          Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 13:03 +1100
                                          Re: Python is DOOMED! Again! Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-02 18:46 +1300
                                    Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 03:31 +1100
                                      Re: Python is DOOMED! Again! Devin Jeanpierre <jeanpierreda@gmail.com> - 2015-02-01 09:45 -0800
                                      Re: Python is DOOMED! Again! Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2015-02-02 18:19 +1300
                                        Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-02 16:38 +1100
                                          Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 22:07 -0800
                                            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-02-02 17:16 +1100
                                              Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 22:25 -0800
                                            Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-02-02 18:18 +1100
                                              Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 23:43 -0800
                                                Re: Python is DOOMED! Again! Rustom Mody <rustompmody@gmail.com> - 2015-02-02 04:12 -0800
                                      Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-02-01 22:12 -0800
                              Re: Python is DOOMED! Again! wxjmfauth@gmail.com - 2015-01-29 10:53 -0800
                              Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-29 18:54 +0000
                                Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-30 19:50 +0100
                                  Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-30 13:00 -0600
                    Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-28 12:09 +1100
        Re: Python is DOOMED! Again! Terry Reedy <tjreedy@udel.edu> - 2015-01-22 22:57 -0500
    Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 05:33 +1100
      Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-01-22 21:22 +0200
        Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-22 13:43 -0600
        Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 20:56 +0100
        Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-22 14:31 -0600
        Re: Python is DOOMED! Again! Skip Montanaro <skip.montanaro@gmail.com> - 2015-01-22 14:32 -0600
        Re: Python is DOOMED! Again! Rick Johnson <rantingrickjohnson@gmail.com> - 2015-01-22 13:08 -0800
          Re: Python is DOOMED! Again! Marko Rauhamaa <marko@pacujo.net> - 2015-01-22 23:25 +0200
    Re: Python is DOOMED! Again! random832@fastmail.us - 2015-01-22 13:41 -0500
      Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 20:10 +0100
        Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 20:53 +0100
          Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 21:03 +0100
            Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-23 01:40 +0100
              Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-22 17:31 -0800
              Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 14:53 +1100
                Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-23 06:38 +0000
                Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-24 02:00 +0100
                  Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-24 16:51 +1100
                    Re: Python is DOOMED! Again! Nicholas Cole <nicholas.cole@gmail.com> - 2015-01-24 09:04 +0000
                Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-24 12:15 +1100
                Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-24 14:40 +0000
            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 12:00 +1100
            Re: Python is DOOMED! Again! Emile van Sebille <emile@fenx.com> - 2015-01-22 17:14 -0800
            Re: Python is DOOMED! Again! Terry Reedy <tjreedy@udel.edu> - 2015-01-22 22:34 -0500
    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-22 19:05 +0000
    Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 19:07 +0000
      Re: Python is DOOMED! Again! Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-23 15:51 +1100
    Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-22 19:09 +0000
    Re: Python is DOOMED! Again! Emile van Sebille <emile@fenx.com> - 2015-01-22 13:56 -0800
    Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-22 15:08 -0700
      Re: Python is DOOMED! Again! Paul Rubin <no.email@nospam.invalid> - 2015-01-22 15:24 -0800
    Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-22 15:12 -0700
      Re: Python is DOOMED! Again! Rustom Mody <rustompmody@gmail.com> - 2015-01-22 19:11 -0800
        Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 14:52 +1100
          Re: Python is DOOMED! Again! Rustom Mody <rustompmody@gmail.com> - 2015-01-22 21:06 -0800
            Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-23 16:33 +1100
    Re: Python is DOOMED! Again! Chris Kaynor <ckaynor@zindagigames.com> - 2015-01-22 14:27 -0800
    Re: Python is DOOMED! Again! Ian Kelly <ian.g.kelly@gmail.com> - 2015-01-22 15:47 -0700
      Re: Python is DOOMED! Again! Mario Figueiredo <marfig@gmail.com> - 2015-01-22 23:54 +0100
    Re: Python is DOOMED! Again! Ben Finney <ben+python@benfinney.id.au> - 2015-01-23 10:22 +1100
    Re: Python is DOOMED! Again! Sturla Molden <sturla.molden@gmail.com> - 2015-01-23 01:44 +0100
    Re: Python is DOOMED! Again! Mark Lawrence <breamoreboy@yahoo.co.uk> - 2015-01-23 06:33 +0000
    Re: Python is DOOMED! Again! wxjmfauth@gmail.com - 2015-01-23 01:07 -0800
    Re: Python is DOOMED! Again! Tony the Tiger <tony@tiger.invalid> - 2015-01-23 18:08 +0000
    Re: Python is DOOMED! Again! BartC <bc@freeuk.com> - 2015-01-29 22:57 +0000
      Re: Python is DOOMED! Again! Chris Angelico <rosuav@gmail.com> - 2015-01-30 10:17 +1100
      Re: Python is DOOMED! Again! Chris Kaynor <ckaynor@zindagigames.com> - 2015-01-29 15:25 -0800
      Re: Python is DOOMED! Again! MRAB <python@mrabarnett.plus.com> - 2015-01-30 02:11 +0000

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


#84281

FromIan Kelly <ian.g.kelly@gmail.com>
Date2015-01-22 15:12 -0700
Message-ID<mailman.18001.1421965225.18130.python-list@python.org>
In reply to#84181
On Thu, Jan 22, 2015 at 3:08 PM, Ian Kelly <ian.g.kelly@gmail.com> wrote:
> On Thu, Jan 22, 2015 at 2:56 PM, Emile van Sebille <emile@fenx.com> wrote:
>> I've been lightly scanning and following the PEP 484 discussion, and one
>> point I don't think I've seen mentioned is how you might hint a function
>> that accepts different types, eg:
>>
>> def adder(a,b): return a+b
>>
>> This is one of the pythonic idioms that help with polymorphic functions.  Is
>> there a proposal for providing hinting for these?
>
> You can use TypeVar for that.
>
> T = TypeVar('T')
>
> def adder(a: T, b: T) -> T:
>     return a + b
>
> I'm not thrilled about having to actually declare T in this sort of
> situation, but I don't have a better proposal.

Hmm, but also that hinting doesn't cover cases like adder(12, 37.5)
where two different types can be passed, and the return type could be
either. I think for full generality you would just have to forgo
hinting on this function.

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


#84302

FromRustom Mody <rustompmody@gmail.com>
Date2015-01-22 19:11 -0800
Message-ID<12a0f55b-c6d8-4eab-8736-ec9dc46151a6@googlegroups.com>
In reply to#84281
On Friday, January 23, 2015 at 3:50:38 AM UTC+5:30, Ian wrote:
> On Thu, Jan 22, 2015 at 3:08 PM, Ian Kelly  wrote:
> > On Thu, Jan 22, 2015 at 2:56 PM, Emile van Sebille  wrote:
> >> I've been lightly scanning and following the PEP 484 discussion, and one
> >> point I don't think I've seen mentioned is how you might hint a function
> >> that accepts different types, eg:
> >>
> >> def adder(a,b): return a+b
> >>
> >> This is one of the pythonic idioms that help with polymorphic functions.  Is
> >> there a proposal for providing hinting for these?
> >
> > You can use TypeVar for that.
> >
> > T = TypeVar('T')
> >
> > def adder(a: T, b: T) -> T:
> >     return a + b
> >
> > I'm not thrilled about having to actually declare T in this sort of
> > situation, but I don't have a better proposal.
> 
> Hmm, but also that hinting doesn't cover cases like adder(12, 37.5)
> where two different types can be passed, and the return type could be
> either. I think for full generality you would just have to forgo
> hinting on this function.

You are 'discovering' two bugs in python's design:
1. [1,2,3] + [4,5,6]
uses the same symbol for an unrelated operation 
1 + 4

2. 1 + 2.14
has an implicit conversion

The second is present in almost all languages so its best called 'feature' not bug

The first I expect will incur costs that are way out of proportion to the benefits

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


#84308

FromChris Angelico <rosuav@gmail.com>
Date2015-01-23 14:52 +1100
Message-ID<mailman.18014.1421985178.18130.python-list@python.org>
In reply to#84302
On Fri, Jan 23, 2015 at 2:11 PM, Rustom Mody <rustompmody@gmail.com> wrote:
> 1. [1,2,3] + [4,5,6]
> uses the same symbol for an unrelated operation
> 1 + 4

They're not unrelated operations. Maybe in the purity of mathematics
they're distinct, but in the practical world of "getting-stuff-done
programming", they're the same operation, as is string concatenation.
It makes perfect sense to use the same symbol for all of them.

ChrisA

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


#84316

FromRustom Mody <rustompmody@gmail.com>
Date2015-01-22 21:06 -0800
Message-ID<1b65206c-6a38-4157-8d9a-98512ebf5557@googlegroups.com>
In reply to#84308
On Friday, January 23, 2015 at 9:23:11 AM UTC+5:30, Chris Angelico wrote:
> On Fri, Jan 23, 2015 at 2:11 PM, Rustom Mody wrote:
> > 1. [1,2,3] + [4,5,6]
> > uses the same symbol for an unrelated operation
> > 1 + 4
> 
> They're not unrelated operations. Maybe in the purity of mathematics
> they're distinct, but in the practical world of "getting-stuff-done
> programming", they're the same operation, as is string concatenation.
> It makes perfect sense to use the same symbol for all of them.
> 
> ChrisA

You are conflating 3 things of which two are logically related --
string, list, number

String and list are the same
In python they are both iterable
In classic Haskell they were literally the same
"abc" is equivlent to ['a', 'b', 'c']
[Modern Haskell has confused the issue by adding a menagerie of types
for efficiency reasons]

As for string and number how is
"1" + "2" == "12"
related to
1+2 == 3
??

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


#84318

FromChris Angelico <rosuav@gmail.com>
Date2015-01-23 16:33 +1100
Message-ID<mailman.18020.1421991237.18130.python-list@python.org>
In reply to#84316
On Fri, Jan 23, 2015 at 4:06 PM, Rustom Mody <rustompmody@gmail.com> wrote:
> As for string and number how is
> "1" + "2" == "12"
> related to
> 1+2 == 3
> ??

They're both adding stuff together. Makes good sense.

Personally, I'd like str+int -> str, eg "1"+2 == "12", but Python
decided otherwise. We definitely agree on str+str though.

ChrisA

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


#84284

FromChris Kaynor <ckaynor@zindagigames.com>
Date2015-01-22 14:27 -0800
Message-ID<mailman.18002.1421965668.18130.python-list@python.org>
In reply to#84181
On Thu, Jan 22, 2015 at 2:12 PM, Ian Kelly <ian.g.kelly@gmail.com> wrote:
>>> def adder(a,b): return a+b
>>>
>>> This is one of the pythonic idioms that help with polymorphic functions.  Is
>>> there a proposal for providing hinting for these?
>>
>> You can use TypeVar for that.
>>
>> T = TypeVar('T')
>>
>> def adder(a: T, b: T) -> T:
>>     return a + b
>>
>> I'm not thrilled about having to actually declare T in this sort of
>> situation, but I don't have a better proposal.
>
> Hmm, but also that hinting doesn't cover cases like adder(12, 37.5)
> where two different types can be passed, and the return type could be
> either. I think for full generality you would just have to forgo
> hinting on this function.

Or use Any, which is basically the same thing:

def adder(a: Any, b: Any) -> Any:
    return a + b

Chris

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


#84286

FromIan Kelly <ian.g.kelly@gmail.com>
Date2015-01-22 15:47 -0700
Message-ID<mailman.18004.1421966906.18130.python-list@python.org>
In reply to#84181
On Thu, Jan 22, 2015 at 3:27 PM, Chris Kaynor <ckaynor@zindagigames.com> wrote:
> Or use Any, which is basically the same thing:
>
> def adder(a: Any, b: Any) -> Any:
>     return a + b

Yeah, but this just seems like extra noise since it's not going to
help the type checker at all.

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


#84287

FromMario Figueiredo <marfig@gmail.com>
Date2015-01-22 23:54 +0100
Message-ID<MPG.2f2b9dfa912e55e1989689@nntp.aioe.org>
In reply to#84286
In article <mailman.18004.1421966906.18130.python-list@python.org>, 
ian.g.kelly@gmail.com says...
> 
> On Thu, Jan 22, 2015 at 3:27 PM, Chris Kaynor <ckaynor@zindagigames.com> wrote:
> > Or use Any, which is basically the same thing:
> >
> > def adder(a: Any, b: Any) -> Any:
> >     return a + b
> 
> Yeah, but this just seems like extra noise since it's not going to
> help the type checker at all.


I agree. It's after all a fully polymorphic function. There is no reason 
to pass it through a static analyzer.

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


#84288

FromBen Finney <ben+python@benfinney.id.au>
Date2015-01-23 10:22 +1100
Message-ID<mailman.18005.1421968962.18130.python-list@python.org>
In reply to#84181
Sturla Molden <sturla.molden@gmail.com> writes:

> Chris Angelico <rosuav@gmail.com> wrote:
>
> > Uhh... if your managers and customers are stipulating non-Pythonic
> > coding styles, then it's time to find new managers/customers. If
> > they're not writing the code, code quality shouldn't be their
> > concern.
>
> I am saying the day someone requires me to write a type hint, I will
> no longer be using Python or recommending it.

Surely a more appropriate response would be to stop taking orders from
that person, and continue writing Python.

-- 
 \        “The problem with television is that the people must sit and |
  `\    keep their eyes glued on a screen: the average American family |
_o__)                 hasn't time for it.” —_The New York Times_, 1939 |
Ben Finney

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


#84293

FromSturla Molden <sturla.molden@gmail.com>
Date2015-01-23 01:44 +0100
Message-ID<mailman.18007.1421973905.18130.python-list@python.org>
In reply to#84181
On 22/01/15 23:08, Ian Kelly wrote:

> T = TypeVar('T')
>
> def adder(a: T, b: T) -> T:
>      return a + b
>
> I'm not thrilled about having to actually declare T in this sort of
> situation, but I don't have a better proposal.

Here is a better proposal:

def adder(a, b):
     return a + b



Sturla

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


#84327

FromMark Lawrence <breamoreboy@yahoo.co.uk>
Date2015-01-23 06:33 +0000
Message-ID<mailman.18024.1421994904.18130.python-list@python.org>
In reply to#84181
On 23/01/2015 00:44, Sturla Molden wrote:
> On 22/01/15 23:08, Ian Kelly wrote:
>
>> T = TypeVar('T')
>>
>> def adder(a: T, b: T) -> T:
>>      return a + b
>>
>> I'm not thrilled about having to actually declare T in this sort of
>> situation, but I don't have a better proposal.
>
> Here is a better proposal:
>
> def adder(a, b):
>      return a + b
>

All those wasted characters?

What is wrong with:-

def adder(a, b): return a + b ? :)

-- 
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

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


#84331

Fromwxjmfauth@gmail.com
Date2015-01-23 01:07 -0800
Message-ID<c44c9497-fe91-4c46-a751-a53e515fa0d1@googlegroups.com>
In reply to#84181
Le jeudi 22 janvier 2015 05:31:12 UTC+1, Steven D'Aprano a écrit :
> Occasionally you find people spreading Fear, Uncertainty, Doubt about 
> Python. Python is now over 20 years old and one of the most popular 
> languages in the world no matter how you measure popularity:
> 
> http://import-that.dreamwidth.org/1388.html
> 
> so you don't often get FUD these days. When you do, it's usually about 
> whitespace, or "Python is too slow", or occasionally "Python 3 is killing 
> Python", but the latest FUD is about PEP 484 and type-hinting:
> 
> https://www.python.org/dev/peps/pep-0484/
> 
> Here's a typical example:
> 
>     Python is already headed towards obscurity. ... it seems that 
>     GvR intends to drive the final nail in python's coffin with 
>     this "type hinting" crap that will convert Python syntax from 
>     a readable pseudo code into a cryptic nightmare.
> 
>     Type hinting violates the very ESSENCE of what Python was
>     meant to be, that is: a "clean and intuitive syntax". 
> 
> 
> (Google for it if you care for the source.)
> 
> So what is this unspeakable, nightmarish, cryptic abomination going to look 
> like? Here's an example from PEP 484:
> 
> def greeting(name: str) -> str:
>     return 'Hello ' + name
> 
> 
> I don't know about you, but I think anyone who cannot read that and intuit 
> that argument `name` is a string and the return result is also a string is 
> probably going to have bigger troubles with Python than just type-hinting.
> 
> Remember too that type-hinting will *absolutely* remain *completely* 
> optional for Python. Developers can choose to use it or not, they can mix 
> hinted code with regular unhinted code, they can use type declarations 
> purely as documentation or they can run an optional type-checker, as they 
> choose.
> 
> Here's a potential real-world example, from the statistics module in Python 
> 3.4, before and after adding annotations:
> 
> def median_grouped(data, interval=1): ...
> 
> def median_grouped(data:Iterable[Real], interval:Real=1)->Real: ...
> 
> 
> I say "potential" because the standard library doesn't use annotations yet, 
> but it may in the future. 
> 
> So how does Python's proposed type-hints compared to that used by other 
> languages?
> 
> Java:
> 
>   public double median_grouped(List<Double> data, double interval) {}
> 
> Pascal:
> 
>   function median_grouped(data: IterableOfReal; interval: Real): Real;
> 
> C:
> 
>   double
>   median_grouped (IterableOfReal data, double interval)
> 
> Haskell:
> 
>   median_grouped               :: [Double] Double -> Double
>   median_grouped data interval =  ...
> 
> 
> (I may have taken some very slight liberties with the syntax, corrections or 
> more idiomatic forms are very welcome.)
> 
> 
> I think it is clear that Python's annotation syntax remains quite close to 
> executable pseudo-code. Fears that type-hints will doom Python are not 
> credible.
> 
> 
> -- 
> Steve

Hey, two days ago, I found a new way to make Python crash
with non ascii characters.
Good news for potential users. No?

jmf

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


#84378

FromTony the Tiger <tony@tiger.invalid>
Date2015-01-23 18:08 +0000
Message-ID<e6www.319379$Um.4259@fx22.am4>
In reply to#84181
On Thu, 22 Jan 2015 15:30:57 +1100, Steven D'Aprano wrote:

> type-hinting

If you don't like it, don't use it. I'm pretty sure there will be ways to 
write code that don't use that scheisse.

 /Grrr
-- 
          ___                  ___
 (\_--_/)  | _ ._    _|_|_  _   |o _  _ ._
 ( 9  9 )  |(_)| |\/  |_| |(/_  ||(_|(/_|
 stripes are forever - as overripe ferrets

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


#84853

FromBartC <bc@freeuk.com>
Date2015-01-29 22:57 +0000
Message-ID<5Vyyw.472566$me1.406185@fx23.am4>
In reply to#84181
On 22/01/2015 04:30, Steven D'Aprano wrote:

> https://www.python.org/dev/peps/pep-0484/

> Here's a potential real-world example, from the statistics module in Python
> 3.4, before and after adding annotations:
>
> def median_grouped(data, interval=1): ...
>
> def median_grouped(data:Iterable[Real], interval:Real=1)->Real: ...

> So how does Python's proposed type-hints compared to that used by other
> languages?

> C:
>
>    double
>    median_grouped (IterableOfReal data, double interval)

> I think it is clear that Python's annotation syntax remains quite close to
> executable pseudo-code. Fears that type-hints will doom Python are not
> credible.

I've read most of the thread but haven't been able to figure out /why/ 
this is being proposed. What is the advantage, speed?

And how does it work in practice: is it necessary to use a special 
Python interpreter to gain the advantage, or do you only get a benefit 
after putting the source through some sort of compiler system?

I can understand many of the misgivings. I have a dynamic language of my 
own, to which I've tried adding type hinting a few times, but in the end 
decided to get rid of those type hints and keep things purer and simpler 
(and a hell of a lot easier to implement too).

There was also something unsatisfactory about having to help things 
along by putting in explicit hints, which also cause trouble: what 
happens when the promise you make are wrong? It would mean putting in 
extra checking code to make sure things are what you said.

So when assigning a non-hinted variable to a hinted one, it needs to be 
type-checked, otherwise things can go wrong internally. So far from 
making things faster, it starts by slowing them down!

Putting in hints, (as as I implemented them using primitive types), 
meant that functions and code no longer worked in a generic (or 
polymorphic) manner. Code also changes, but the type hints aren't 
maintained. I understand the Python proposal allows type hints to be a 
union of expected types, but that sounds complicated.

Depending on how it's implemented, it also seems to me that a program 
with type hints might work with a Python implementation that ignores the 
hints, but might not work with one that makes use of the hints (because 
of using a value that is not of the hinted type).

Also, how does it work with numeric types; is there just one numeric 
type, or two (integer and real) or more? With more than one numeric type 
hint, it's going to be a headache trying to determine what the result of 
a function can be. (And if you have to choose real because 1% of the 
time the result will be real, then you lose the advantage of being able 
to work with integers 99% of the time.)

-- 
Bartc

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


#84854

FromChris Angelico <rosuav@gmail.com>
Date2015-01-30 10:17 +1100
Message-ID<mailman.18287.1422573437.18130.python-list@python.org>
In reply to#84853
On Fri, Jan 30, 2015 at 9:57 AM, BartC <bc@freeuk.com> wrote:
> I've read most of the thread but haven't been able to figure out /why/ this
> is being proposed. What is the advantage, speed?

Have a read of the PEP:

https://www.python.org/dev/peps/pep-0484/

ChrisA

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


#84856

FromChris Kaynor <ckaynor@zindagigames.com>
Date2015-01-29 15:25 -0800
Message-ID<mailman.18289.1422573963.18130.python-list@python.org>
In reply to#84853
On Thu, Jan 29, 2015 at 2:57 PM, BartC <bc@freeuk.com> wrote:
> I've read most of the thread but haven't been able to figure out /why/ this
> is being proposed. What is the advantage, speed?

Check out the rationale part of the PEP:
https://www.python.org/dev/peps/pep-0484/#rationale-and-goals. Other
parts of the PEP also answer many of the other questions you have.
I've put in my understandings and opinions below, however.


There are a few perceived advantages to adding type-hints, some of
which are more pie-in-the-sky while others are very likely:
- IDEs can use them to provide better auto-complete.
- Static checkers can do a better job of checking for program
correctness (by erroring if the type-hints are obviously broken).
- Possibility of performance improvements, although CPython (the
official Python interpreter) will still be required to work if the
type-hints are wrong.

> And how does it work in practice: is it necessary to use a special Python
> interpreter to gain the advantage, or do you only get a benefit after
> putting the source through some sort of compiler system?

CPython will, initially, do nothing special with the type-hints that
it does not currently do with the existing annotations, which is
merely parse them and ensure they meet the syntax requirements. My
understanding is that there will be a static checker (possibly derived
from MyPy) that will be endorsed, however, and possibly included in
the STD.

> I can understand many of the misgivings. I have a dynamic language of my
> own, to which I've tried adding type hinting a few times, but in the end
> decided to get rid of those type hints and keep things purer and simpler
> (and a hell of a lot easier to implement too).
>
> There was also something unsatisfactory about having to help things along by
> putting in explicit hints, which also cause trouble: what happens when the
> promise you make are wrong? It would mean putting in extra checking code to
> make sure things are what you said.

As a rule, breaking the type-hint promises will have no effect on the
run-time. Some implementations (Cython or PyPy) may decide to use the
type-hints to guide optimization, perhaps by creating a fast path for
if the promises are met, however conforming implementations cannot
rely on them being correct. PyPy, for example, could JIT the function
presuming the types are right, therefore front-loading the JIT time.
I'm not saying they WILL, just that they COULD.

> So when assigning a non-hinted variable to a hinted one, it needs to be
> type-checked, otherwise things can go wrong internally. So far from making
> things faster, it starts by slowing them down!

See above. The current plan is not to generally use the hinting at
run-time, but only during static checking of the code. For cases like
PyPy, they already have to do run-time type checking to ensure
correctness when running optimized paths.

> Putting in hints, (as as I implemented them using primitive types), meant
> that functions and code no longer worked in a generic (or polymorphic)
> manner. Code also changes, but the type hints aren't maintained. I
> understand the Python proposal allows type hints to be a union of expected
> types, but that sounds complicated.

Regarding the maintenance of type-hints, for people who heavily use
them, I would imagine they will have a static checker setup which will
regularly run and generally produce an error if the hints are not
updated. Most other people will likely only lightly use the type-hints
and may not use static checkers, and thus they probably will get out
of sync. With such a feature, my main use case would be to aid IDEs in
providing auto-complete, which I've done in the past by adding lines
like "if 0: assert isinstance(variable, type)". Most of the functions
I write do not have any such "hints" but instead I've only generally
used it in cases where the type is pretty much fixed, but is a custom
type with a more complicated API.

For the most part, I would almost never use the union types. From past
experience (from languages like C++ and C#), such tends to vastly over
complicate the definitions. The same applies to most cases of generic
types (think list, tuple, set, dict).

> Depending on how it's implemented, it also seems to me that a program with
> type hints might work with a Python implementation that ignores the hints,
> but might not work with one that makes use of the hints (because of using a
> value that is not of the hinted type).
>
> Also, how does it work with numeric types; is there just one numeric type,
> or two (integer and real) or more? With more than one numeric type hint,
> it's going to be a headache trying to determine what the result of a
> function can be. (And if you have to choose real because 1% of the time the
> result will be real, then you lose the advantage of being able to work with
> integers 99% of the time.)

My understanding is that you would generally use one of "int",
"float", "Decimal", "Rational", "complex", etc. - basically the name
of the classes themselves. There are some special rules for more
complicated cases, such as forward definitions or various union types.


Chris

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


#84860

FromMRAB <python@mrabarnett.plus.com>
Date2015-01-30 02:11 +0000
Message-ID<mailman.18291.1422583904.18130.python-list@python.org>
In reply to#84853
On 2015-01-29 23:25, Chris Kaynor wrote:
> On Thu, Jan 29, 2015 at 2:57 PM, BartC <bc@freeuk.com> wrote:
[snip]
>> Putting in hints, (as as I implemented them using primitive types),
>> meant that functions and code no longer worked in a generic (or
>> polymorphic) manner. Code also changes, but the type hints aren't
>> maintained. I understand the Python proposal allows type hints to
>> be a union of expected types, but that sounds complicated.
>
> Regarding the maintenance of type-hints, for people who heavily use
> them, I would imagine they will have a static checker setup which
> will regularly run and generally produce an error if the hints are
> not updated. Most other people will likely only lightly use the
> type-hints and may not use static checkers, and thus they probably
> will get out of sync. With such a feature, my main use case would be
> to aid IDEs in providing auto-complete, which I've done in the past
> by adding lines like "if 0: assert isinstance(variable, type)". Most
> of the functions I write do not have any such "hints" but instead
> I've only generally used it in cases where the type is pretty much
> fixed, but is a custom type with a more complicated API.
>
I suppose you could check what types the arguments are by running the
code and outputting the types supplied, and then run a script that uses
the info to modify the source, and then you can diff the result.

Here's a simple example I've come up with:


#! python3.4
# -*- coding: utf-8 -*-
import inspect

def check_hints(func):

     def wrapper(*args, **kwargs):
         sig = inspect.signature(func)
         print('file      :', inspect.getfile(func))
         print('function  :', func.__name__)
         print('line      :', inspect.getsourcelines(func)[1] + 1)

         args_given = list(args)
         kwargs_given = dict(kwargs)

         for name in sig.parameters:
             param = sig.parameters[name]
             if param.kind == inspect.Parameter.POSITIONAL_OR_KEYWORD:
                 annotation = param.annotation
                 if args_given:
                     print('parameter : {} : {}'.format(name,
                       type(args_given.pop(0)).__name__))
                     if annotation != inspect.Parameter.empty:
                         print('annotation: {} : {}'.format(name,
                           annotation.__name__))
                 else:
                     try:
                         print('parameter : {} : {}'.format(name,
                           type(kwargs_given.pop(name)).__name__))
                         if annotation != inspect.Parameter.empty:
                             print('annotation: {} : {}'.format(name,
                               annotation.__name__))
                     except KeyError:
                         pass

         result = func(*args, **kwargs)

         print('return    : {}'.format(type(result).__name__))
         annotation = sig.return_annotation
         if annotation != inspect.Parameter.empty:
             print('annotation: {}'.format(annotation.__name__))

         print()

         return result

     return wrapper

@check_hints
def foo(arg1: int, arg2: str, arg3: float=2.0) -> int:
     pass

@check_hints
def bar(arg1, arg2, arg3=2.0):
     pass

foo(1, "bar")
foo("baz", 2, 3.0)

bar(1, "bar")
bar("baz", 2, 3.0)

[toc] | [prev] | [standalone]


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

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


csiph-web