Re: Python's only one way to do it philosophy isn't good?

2007-06-24 Thread Douglas Alan
Michele Simionato [EMAIL PROTECTED] writes: You should really be using pychecker (as well as Emacs autocompletion feature ...): I *do* use Emacs's autocompletion, but sometimes these sorts of bugs creep in anyway. (E.g., sometimes I autocomplete in the wrong variable!) ~$ pychecker -v x.py

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Paul Rubin
Michele Simionato [EMAIL PROTECTED] writes: BTW, there are already Python-like languages with macros (i.e. logix) and still nobody use them, including people with a Scheme/Lisp background. That should be telling you something. What about Dylan? --

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Michele Simionato
On Jun 22, 8:09 pm, Douglas Alan [EMAIL PROTECTED] wrote: Functionality is no good if it's too cumbersome to use. For instance, Scheme gives you first class continuations, which Python doesn't. Continuations let you do *all sorts* of interesting things that you just cannot do in Python. Like

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: Nevertheless, in Python 1+2 always equals 3. You can't say the same thing about Lisp. Well, I can't say much of *anything* about 1 + 2 in Lisp, since that's not the syntax for adding numbers in Lisp. In Lisp, numbers are typically added using the +

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Paul Rubin
Michele Simionato [EMAIL PROTECTED] writes: Really powerful languages (say Haskell, just not to be too Python-centric) do not need macros. http://www.haskell.org/th/ -- http://mail.python.org/mailman/listinfo/python-list

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Michele Simionato
On Jun 23, 6:11 am, Lenard Lindstrom [EMAIL PROTECTED] wrote: When this thread turned to the topic of macros I did an Internet search for information on macros relevant to Python. Dylan's macros look promising. The Python-inspired language Converge has macros (http://convergepl.org/). Michael

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Michele Simionato
On Jun 22, 7:54 pm, Douglas Alan [EMAIL PROTECTED] wrote: The proof is in the pudding for anyone who has seen the advantages it brings to Lisp. As Paul Graham points out, it's hard to look up and see the advantages of what is up there in a more powerful language. It's only easy to look down

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Steven D'Aprano
On Sat, 23 Jun 2007 12:39:51 -0400, Douglas Alan wrote: One of the things that annoys me when coding in Python (and this is a flaw that even lowly Perl has a good solution for), is that if you do something like longVarableName = foo(longVariableName) You end up with a bug that can

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: But if you really want declarations, you can have them. import variables variables.declare(x=1, y=2.5, z=[1, 2, 4]) variables.x = None variables.w = 0 Traceback (most recent call last): File stdin, line 1, in module File variables.py, line

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Douglas Alan
Michele Simionato [EMAIL PROTECTED] writes: Been there, done that. So what? Your example will not convince any Pythonista. I'm a Pythonista, and it convinces me. The Pythonista expects Guido to do the language job and the application developer to do the application job. I'm happy to hear

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: So one use for macros would be so that I can define let and set statements so that I might code like this: let longVariableName = 0 set longVarableName = foo(longVariableName) Then if longVarableName didn't already exist, an error would

Re: Python's only one way to do it philosophy isn't good?

2007-06-23 Thread Steven D'Aprano
On Sat, 23 Jun 2007 14:56:35 -0400, Douglas Alan wrote: How long did it take you to write the macros, and use them, compared to running Pylint or Pychecker or equivalent? An hour? Who cares? You write it once and then you have it for the rest of your life. You put it in a widely

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Steven D'Aprano
On Thu, 21 Jun 2007 15:25:37 -0400, Douglas Alan wrote: You are imagining something very different from what is proposed. Lisp-like macros don't allow anything goes. Provided people avoid doing anything which would be considered very rude (your own words). Python already allows me to shoot

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Neil Cerutti
On 2007-06-21, Douglas Alan [EMAIL PROTECTED] wrote: Neil Cerutti [EMAIL PROTECTED] writes: Seriously, maybe Python looks like 'blub' (thanks, Paul Graham), to the skilled Lisp user, but it makes a lot of other languages look like 'blub', too, including, sometimes, Lisp: Lisp has to 'blub'

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Neil Cerutti
On 2007-06-22, Douglas Alan [EMAIL PROTECTED] wrote: Neil Cerutti [EMAIL PROTECTED] writes: That said, I wouldn't give up the summer I spent studying _Simply Scheme_. Sounds like fun. Is this like a kinder, gentler version of SICP? No, it is a prequel. Along with How to Design Programs it

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Douglas Alan
Neil Cerutti [EMAIL PROTECTED] writes: That said, I wouldn't give up the summer I spent studying _Simply Scheme_. Sounds like fun. Is this like a kinder, gentler version of SICP? I'm not sure, though, that I could have learned computer science properly without the immortal characters of Ben

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: On Thu, 21 Jun 2007 15:25:37 -0400, Douglas Alan wrote: You are imagining something very different from what is proposed. Lisp-like macros don't allow anything goes. Provided people avoid doing anything which would be considered very rude (your

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: Douglas Alan [EMAIL PROTECTED] wrote in message | But why is the ability to abstract syntax good? | It allows the community to develop language features in a modular way | without having to sully the code base for the language itself. Anyone can

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: | But why is the ability to abstract syntax good? I think this points to where Sussman went wrong in his footnote and Alan in his defense thereof. Flexibility of function -- being able to do many different things -- is quite different from flexibility

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | Terry Reedy [EMAIL PROTECTED] writes: | I think this points to where Sussman went wrong in his footnote and | Alan in his defense thereof. Flexibility of function -- being able | to do many different things -- is quite

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: Douglas Alan [EMAIL PROTECTED] wrote in message | Terry Reedy [EMAIL PROTECTED] writes: | I think this points to where Sussman went wrong in his footnote | and Alan in his defense thereof. Flexibility of function -- | being able to do many

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Paul Rubin
Douglas Alan [EMAIL PROTECTED] writes: People (myself included) haven't had much trouble implementing nice and useful macro packages for Lisp. Admittedly, it's a harder problem for a language that doesn't have a Lisp-like syntax. One very simple hack would be to define a syntax extension like

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Steven D'Aprano
On Fri, 22 Jun 2007 13:21:14 -0400, Douglas Alan wrote: I.e., I could write a new object system for Lisp faster than I could even begin to fathom the internal of CPython. Not only that, I have absolutely no desire to spend my valuable free time writing C code. I'd much rather be hacking in

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Steven D'Aprano
On Fri, 22 Jun 2007 13:54:35 -0400, Douglas Alan wrote: Python already allows me to shoot myself in the foot, if I wish. I'm comfortable with that level of freedom. I'm not necessarily comfortable with extensions to the language that would allow me the freedom to shoot myself in the head.

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Lenard Lindstrom
Douglas Alan wrote: Terry Reedy [EMAIL PROTECTED] writes: Douglas Alan [EMAIL PROTECTED] wrote in message | But why is the ability to abstract syntax good? | It allows the community to develop language features in a modular way | without having to sully the code base for the language

Re: Python's only one way to do it philosophy isn't good?

2007-06-22 Thread Steven D'Aprano
On Fri, 22 Jun 2007 19:51:28 -0400, Douglas Alan wrote: You seem oblivious to the fact that one of the huge benefits of Python is its elegant and readable syntax. The problem with not having a flexible syntax, is that a programming language can't provide off-the-shelf an elegant syntax for

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Robert Brown
Neil Cerutti [EMAIL PROTECTED] writes: On 2007-06-21, Douglas Alan [EMAIL PROTECTED] wrote: A prime example of this is how CLOS, the Common Lisp Object System was implemented completely as a loadable library (with the help of many macros) into Common Lisp, which was not an OO language prior to

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: | It allows the community to develop language features in a modular way | without having to sully the code base for the language itself. [etc] Some of the strongest opposition to adding macros to Python comes from people like Alex Martelli who have had

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Steven D'Aprano
On Wed, 20 Jun 2007 17:23:42 -0400, Douglas Alan wrote: But Scheme has macros isn't a justification for why Python should have them. No one ever gave that justification. The justification is that they are *good*. Macros are a way to abstract syntax the way that objects are used to

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: On Wed, 20 Jun 2007 17:23:42 -0400, Douglas Alan wrote: Macros are a way to abstract syntax the way that objects are used to abstract data types and that iterators and generators abstract control, etc. But why is the ability to abstract syntax

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Neil Cerutti
On 2007-06-21, Douglas Alan [EMAIL PROTECTED] wrote: Steven D'Aprano [EMAIL PROTECTED] writes: On Wed, 20 Jun 2007 17:23:42 -0400, Douglas Alan wrote: Macros are a way to abstract syntax the way that objects are used to abstract data types and that iterators and generators abstract control,

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Douglas Alan
Neil Cerutti [EMAIL PROTECTED] writes: But why is the ability to abstract syntax good? It allows the community to develop language features in a modular way without having to sully the code base for the language itself. That's not an advantage exclusive to macros, though. No, but macros

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | Steven D'Aprano [EMAIL PROTECTED] writes: | | On Wed, 20 Jun 2007 17:23:42 -0400, Douglas Alan wrote: | | Macros are a way to abstract syntax the way that objects are used to | abstract data types and that iterators and

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Terry Reedy
Steven D'Aprano [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | On Wed, 20 Jun 2007 17:23:42 -0400, Douglas Alan wrote: | Macros are a way to abstract syntax the way that objects are used to | abstract data types and that iterators and generators abstract control, | etc. | | But

Re: Python's only one way to do it philosophy isn't good?

2007-06-21 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | But why is the ability to abstract syntax good? | | It allows the community to develop language features in a modular way | without having to sully the code base for the language itself. Anyone can write modules,

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Michele Simionato
Douglas Alan wrote: I think that most people who program in Scheme these days don't do it to write practical software. They either do it to have fun, or for academic purposes. On the other hand, most people who program in Python are trying to get real work done. Which is precisely why I

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Paul Rubin
Michele Simionato [EMAIL PROTECTED] writes: I see Python or C as much better practical implementations of Sussman's quote about minimalism than real Scheme (for an example of real Scheme, I refer for instance to the PLT implementation). Python and C as programming languages are like democracy

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Steven D'Aprano
On Tue, 19 Jun 2007 19:22:33 -0700, Paul Rubin wrote: Steven D'Aprano [EMAIL PROTECTED] writes: So, once you've succeeded in your campaign to make Python more like Scheme, what language will you use for getting real work done? And how long will it take before Schemers start agitating for it

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Steven D'Aprano
On Tue, 19 Jun 2007 20:16:28 -0400, Douglas Alan wrote: Steven D'Aprano [EMAIL PROTECTED] writes: On Tue, 19 Jun 2007 17:46:35 -0400, Douglas Alan wrote: I think that most people who program in Scheme these days don't do it to write practical software. They either do it to have fun, or

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | I think you are missing the point. Sussman is making a broad criticism of software | engineering in general, as it is understood today. On the contrary, I understood exactly that and said so. *My* point is that in

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: | I think you are missing the point. Sussman is making a broad | criticism software engineering in general, as it is understood | today. On the contrary, I understood exactly that and said so. *My* point is that in doing so, he made one jab at one

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Robert Kern
Douglas Alan wrote: Terry Reedy [EMAIL PROTECTED] writes: Which I obviously read and responded to by noting And 3.0 may add a new generic function module to dispatch on multiple arguments and possibly predicates. So, that's great. Python will once again adopt a wonderful feature that

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: On Tue, 19 Jun 2007 20:16:28 -0400, Douglas Alan wrote: Steven D'Aprano [EMAIL PROTECTED] writes: On Tue, 19 Jun 2007 17:46:35 -0400, Douglas Alan wrote: The problem with using Scheme for real work is that it doesn't come with enough batteries

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: All of which makes Douglas Alan's accusations of Not Invented Here syndrome about Python seem rather silly. I've never made such an accusation about Python itself -- just about the apparent attitude of some pontiffs. The point I was making isn't

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Douglas Alan
Michele Simionato [EMAIL PROTECTED] writes: In practice Scheme follows exactly the opposite route: there are dozens of different and redundant object systems, module systems, even record systems, built just by piling up feature over feature. The solution to this is to have a standard library

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread Douglas Alan
Robert Kern [EMAIL PROTECTED] writes: The problem with Python's model is that you have to wait for a rather centralized process to agree on and implement such a feature. No, you don't. Philip Eby has been working on various incarnations of generic functions for some time now. The only thing

Re: Python's only one way to do it philosophy isn't good?

2007-06-20 Thread John Nagle
Paul Rubin wrote: Michele Simionato [EMAIL PROTECTED] writes: I see Python or C as much better practical implementations of Sussman's quote about minimalism than real Scheme (for an example of real Scheme, I refer for instance to the PLT implementation). Python and C as programming

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | Terry Reedy [EMAIL PROTECTED] writes: | | |oug writes: | | Scheme has a powerful syntax extension mechanism | | I did not and do not see this as relevant to the main points of my | summary above. The main point of my

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: The main point of my original post was that the quoted slam at Python was based on a misquote of Tim Peters But it wasn't based on a misquote of Tim Peters; it was based on an *exact* quotation of Tim Peters. and a mischaracterization of Python I find

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Neil Cerutti
On 2007-06-19, Douglas Alan [EMAIL PROTECTED] wrote: Terry Reedy [EMAIL PROTECTED] writes: At the end, I added as a *side note* the irony that the purported author was the co-developer of Scheme, another 'minimalist algorithm language Sussman's statements are not ironic because Scheme is a

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Douglas Alan
Neil Cerutti [EMAIL PROTECTED] writes: |oug writes: Sussman's statements are not ironic because Scheme is a language that is designed to be extended by the end-user (even syntactically), while keeping the core language minimal. This is a rather different design philosophy from that of

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] || But it wasn't based on a misquote of Tim Peters; it was based on an | *exact* quotation of Tim Peters. My mistake. The misquotation is in the subject line and other's posts here and in other threads. | and a

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: Nonetheless, picking on and characterizing Tim's statement as anti-flexibility and un-scientific is to me writing of a sort that I would not tolerate from my middle-school child. Now it is you who are taking Sussman's comments out of context. Sussman does

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Steven D'Aprano
On Tue, 19 Jun 2007 17:46:35 -0400, Douglas Alan wrote: I think that most people who program in Scheme these days don't do it to write practical software. They either do it to have fun, or for academic purposes. On the other hand, most people who program in Python are trying to get real

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: On Tue, 19 Jun 2007 17:46:35 -0400, Douglas Alan wrote: I think that most people who program in Scheme these days don't do it to write practical software. They either do it to have fun, or for academic purposes. On the other hand, most people who

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Steve Howell
--- Douglas Alan [EMAIL PROTECTED] wrote: For the record, I have a huge problem with NIH-syndrome, and think that every programming language in the world could learn a thing or two from what other languages have gotten right. Which should includes natural languages in my opinion. As

Re: Python's only one way to do it philosophy isn't good?

2007-06-19 Thread Paul Rubin
Steven D'Aprano [EMAIL PROTECTED] writes: So, once you've succeeded in your campaign to make Python more like Scheme, what language will you use for getting real work done? And how long will it take before Schemers start agitating for it to become more like Scheme? While you've dutifully

Re: Python's only one way to do it philosophy isn't good?

2007-06-18 Thread Magnus Lycka
Alex Martelli wrote: PL/1 is basically gone, but its legacy of take what you need and leave the rest is unfortunately alive in other languages that are blind to the enormous advantages of simplicity and uniformity. Reminds me of RUP... No wonder Ivar Jacobson gave up and started all over. --

Re: Python's only one way to do it philosophy isn't good?

2007-06-18 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: |oug writes: Scheme has a powerful syntax extension mechanism I did not and do not see this as relevant to the main points of my summary above. Python has powerful extension mechanisms too, but comparing the two languages on this basis is a whole

Re: Python's only one way to do it philosophy isn't good?

2007-06-17 Thread Neil Cerutti
On 2007-06-17, Paul Rubin http wrote: Neil Cerutti [EMAIL PROTECTED] writes: I don't know that much about ML. I know is does a really nice job of generic containers, as does C++. But can it 'foo' any type as easily as C++? template class T T foo(T); I don't know enough C++ to understand

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Steven D'Aprano
On Fri, 15 Jun 2007 22:25:38 -0700, Alex Martelli wrote: The Spirit of C section in the preface of the ISO Standard for C phrases this principle as Provide only one way to do an operation. Taken seriously, that rapidly goes to absurdity -- it would mean, for example, replacing all for loops

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Alex Martelli
Steven D'Aprano [EMAIL PROTECTED] wrote: ... perception that, at their roots, Scheme, C and Python share one philosophical underpinning (one that's extremely rare among programming languages as a whole) -- an appreciation of SIMPLICITY AND UNIFORMITY as language characteristics. Out

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Neil Cerutti
On 2007-06-16, Steven D'Aprano [EMAIL PROTECTED] wrote: On Fri, 15 Jun 2007 22:25:38 -0700, Alex Martelli wrote: The Spirit of C section in the preface of the ISO Standard for C phrases this principle as Provide only one way to do an operation. Taken seriously, that rapidly goes to absurdity

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Cousin Stanley
Steven D'Aprano [EMAIL PROTECTED] wrote: ... perception that, at their roots, Scheme, C and Python share one philosophical underpinning (one that's extremely rare among programming languages as a whole) -- an appreciation of SIMPLICITY AND UNIFORMITY as language characteristics.

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Paul Rubin
Neil Cerutti [EMAIL PROTECTED] writes: I vote for C++ as being astoundingly complex. But it provides complex features, e.g.,the machanisms it provides to deal with multiple inheritance, or generic, type-safe code. It gets off-topic but I'm not sure what advantage templates are supposed to have

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Douglas Alan
Dennis Lee Bieber [EMAIL PROTECTED] writes: Macros? Unfortunately to my world, macros are those things found in C, high-powered assemblers, and pre-VBA Office. As such, they do anything but keep a language small, and one encounters multiple implementations of similar functionality --

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Neil Cerutti
On 2007-06-16, Paul Rubin http wrote: Neil Cerutti [EMAIL PROTECTED] writes: I vote for C++ as being astoundingly complex. But it provides complex features, e.g.,the machanisms it provides to deal with multiple inheritance, or generic, type-safe code. It gets off-topic but I'm not sure what

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Alex Martelli
Cousin Stanley [EMAIL PROTECTED] wrote: ... I think the Original Sin in that regard was PL/I: it tried to have all ... tended to have two or more ways to perform any given task, typically inspired by some of the existing languages, often with the addition of new ones made out of

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Paul Rubin
[EMAIL PROTECTED] (Alex Martelli) writes: PL/1 is basically gone, but its legacy of take what you need and leave the rest is unfortunately alive in other languages that are blind to the enormous advantages of simplicity and uniformity. Intercal? --

Re: Python's only one way to do it philosophy isn't good?

2007-06-16 Thread Paul Rubin
Neil Cerutti [EMAIL PROTECTED] writes: I don't know that much about ML. I know is does a really nice job of generic containers, as does C++. But can it 'foo' any type as easily as C++? template class T T foo(T); I don't know enough C++ to understand what the above means exactly, but I think

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: Try suggesting on a Lisp or Scheme group that having only one type of syntax (prefix expressions) lacks something and that they should add variety in the form of statement syntax ;-) Hint: some Lispers have bragged here about the simplicity of 'one way to

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: My only point was that Sussman is an odd person to be criticizing (somewhat mistakingly) Python for being minimalist. I think that being a language minimalist is very different from believing that there should be exactly one obvious way to do everything.

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: Here's the situation. Python is making inroads at MIT, Scheme home turf. The co-developer of Scheme, while writing about some other subject, tosses in an off-the-wall slam against Python. Someone asks what we here think. I think that the comment is a

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Kay Schluehr [EMAIL PROTECTED] writes: On 15 Jun., 22:58, Douglas Alan [EMAIL PROTECTED] wrote: For instance, I believe that Python is now too big, and that much of what is in the language itself should be replaced with more general Scheme-like features. Then a good macro mechanism should

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Kay Schluehr
On 15 Jun., 22:58, Douglas Alan [EMAIL PROTECTED] wrote: For instance, I believe that Python is now too big, and that much of what is in the language itself should be replaced with more general Scheme-like features. Then a good macro mechanism should be implemented so that all the

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Steven D'Aprano
On Fri, 15 Jun 2007 17:05:27 -0400, Douglas Alan wrote: You are ignoring the fact that Scheme has a powerful syntax extension mechanism (i.e., hygenic macros), which means that anyone in the world can basically extend Scheme to include practically any language feature they might like it to

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Terry Reedy
Douglas Alan [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | Terry Reedy [EMAIL PROTECTED] writes: | | Here's the situation. Python is making inroads at MIT, Scheme home turf. | The co-developer of Scheme, while writing about some other subject, tosses | in an off-the-wall slam

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Steven D'Aprano [EMAIL PROTECTED] writes: On Fri, 15 Jun 2007 17:05:27 -0400, Douglas Alan wrote: You are ignoring the fact that Scheme has a powerful syntax extension mechanism (i.e., hygenic macros), which means that anyone in the world can basically extend Scheme to include practically

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Douglas Alan
Terry Reedy [EMAIL PROTECTED] writes: You are ignoring the fact that This prefactory clause is false and as such it turns what was a true statement into one that is not. Better to leave off such ad hominisms and stick with the bare true statement. You went on about how Gerry Sussman's

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Paul Rubin
Dennis Lee Bieber [EMAIL PROTECTED] writes: Adding generator expressions, which look identical except that one typically has () (or the () of an enclosing function call) while the other must have [] just seems to add confusion to the world. I'll abstain on with... Decorators I've not

Re: Python's only one way to do it philosophy isn't good?

2007-06-15 Thread Alex Martelli
Neil Cerutti [EMAIL PROTECTED] wrote: On 2007-06-12, Antoon Pardon [EMAIL PROTECTED] wrote: On 2007-06-11, Terry Reedy [EMAIL PROTECTED] wrote: More so than supporters of most other languages, in particular Scheme? Well to my knowledge (which could be vastly improved), scheme doesn't

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Neil Cerutti
On 2007-06-12, Anders J. Munch [EMAIL PROTECTED] wrote: Paul Rubin wrote: Steven D'Aprano [EMAIL PROTECTED] writes: Not tail calls, in general, no. Sorry, how does that work? You're suggesting that there is an algorithm which the compiler could follow to optimize away tail-recursion, but

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Neil Cerutti
On 2007-06-13, Steve Howell [EMAIL PROTECTED] wrote: You would just change the language definition to say that once you enter f(), any call to f() from within f() behaves as if the recursively called f() still points to the originally bound version of f. To want any other behavior would be

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Anders J. Munch
Neil Cerutti wrote: On 2007-06-12, Anders J. Munch [EMAIL PROTECTED] wrote: Converting tail-recursion to iteration is trivial, and perfectly reasonable for a human to do by hand. For simple recursive tail calls, yeah, it can be. Translating a tail-recursive Factorial function into a while

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Anders J. Munch
Alexander Schmolck wrote: Anders J. Munch [EMAIL PROTECTED] writes: Like Steven said, tail-call optimisation is not necessary as you can always hand-optimise it yourself. Care to demonstrate on some code written in CPS (a compiler or parser, say)? I meant tail recursion, not tail-call,

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Neil Cerutti
On 2007-06-13, Anders J. Munch [EMAIL PROTECTED] wrote: General tail-call optimisation is of course completely out-of-bounds for Python, because it ruins tracebacks. Unlike tail recursion, which could use recursion counters. Is it really ruined? To use a similar example: def foo(x):

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Carsten Haese
On Wed, 2007-06-13 at 18:22 +, Neil Cerutti wrote: On 2007-06-13, Anders J. Munch [EMAIL PROTECTED] wrote: General tail-call optimisation is of course completely out-of-bounds for Python, because it ruins tracebacks. Unlike tail recursion, which could use recursion counters. Is it

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Neil Cerutti
On 2007-06-13, Neil Cerutti [EMAIL PROTECTED] wrote: On 2007-06-13, Anders J. Munch [EMAIL PROTECTED] wrote: General tail-call optimisation is of course completely out-of-bounds for Python, because it ruins tracebacks. Unlike tail recursion, which could use recursion counters. Is it really

Re: Python's only one way to do it philosophy isn't good?

2007-06-13 Thread Terry Reedy
Steve Howell [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | | You would just change the language definition to say | that once you enter f(), any call to f() from within | f() behaves as if the recursively called f() still | points to the originally bound version of f. I am pretty

Re: Python optimization (was Python's only one way to do it philosophy isn't good?)

2007-06-13 Thread Paul Rubin
Diez B. Roggisch [EMAIL PROTECTED] writes: And if only the html-parsing is slow, you might consider creating an extension for that. Using e.g. Pyrex. I just tried using BeautifulSoup to pull some fields out of some html files--about 2 million files, output of a web crawler. It parsed very

Re: Python optimization (was Python's only one way to do it philosophy isn't good?)

2007-06-13 Thread John Nagle
Paul Rubin wrote: Diez B. Roggisch [EMAIL PROTECTED] writes: And if only the html-parsing is slow, you might consider creating an extension for that. Using e.g. Pyrex. I just tried using BeautifulSoup to pull some fields out of some html files--about 2 million files, output of a web

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Antoon Pardon
On 2007-06-11, Terry Reedy [EMAIL PROTECTED] wrote: Antoon Pardon [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | On 2007-06-09, Terry Reedy [EMAIL PROTECTED] wrote: | For him to imply that Python is anti-flexibility is wrong. Very wrong.. | He should look in a mirror. See

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Neil Cerutti
On 2007-06-12, Antoon Pardon [EMAIL PROTECTED] wrote: On 2007-06-11, Terry Reedy [EMAIL PROTECTED] wrote: More so than supporters of most other languages, in particular Scheme? Well to my knowledge (which could be vastly improved), scheme doesn't have some Zen-rules that include something

Re: Python optimization (was Python's only one way to do it philosophy isn't good?)

2007-06-12 Thread Diez B. Roggisch
John Nagle wrote: Diez B. Roggisch wrote: Regardless of the possibility of speeding it up - why should one want this? Coding speed is more important than speed of coding in 90%+ of all cases. When you have to start buying more servers for the server farm, it's a real pain. I'm

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Terry Reedy
Antoon Pardon [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] | So? Tim wrote 'There should be one-- and preferably only one --obvious way | to do it'. The primary clause is that there should at least one. The | secondary clause is that once there is a good and obvious way to do

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Anders J. Munch
Paul Rubin wrote: Steven D'Aprano [EMAIL PROTECTED] writes: Not tail calls, in general, no. Sorry, how does that work? You're suggesting that there is an algorithm which the compiler could follow to optimize away tail-recursion, but human beings can't follow the same algorithm? Now I'm

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Steve Howell
--- Anders J. Munch [EMAIL PROTECTED] wrote: Converting tail-recursion to iteration is trivial, and perfectly reasonable for a human to do by hand. You add an outer while True-loop, the recursive call becomes a tuple assignment, and other code paths end with a break out of the loop.

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread John Nagle
Steve Howell wrote: --- Anders J. Munch [EMAIL PROTECTED] wrote: Converting tail-recursion to iteration is trivial, and perfectly reasonable for a human to do by hand. You add an outer while True-loop, the recursive call becomes a tuple assignment, and other code paths end with a break out

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Steven D'Aprano
On Tue, 12 Jun 2007 15:51:07 -0700, Steve Howell wrote: --- Anders J. Munch [EMAIL PROTECTED] wrote: Converting tail-recursion to iteration is trivial, and perfectly reasonable for a human to do by hand. You add an outer while True-loop, the recursive call becomes a tuple assignment,

Re: Python's only one way to do it philosophy isn't good?

2007-06-12 Thread Steve Howell
--- Steven D'Aprano [EMAIL PROTECTED] wrote: On Tue, 12 Jun 2007 15:51:07 -0700, Steve Howell wrote: --- Anders J. Munch [EMAIL PROTECTED] wrote: Converting tail-recursion to iteration is trivial, and perfectly reasonable for a human to do by hand. You add an outer while

<    1   2   3   >