Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-04-02 Thread Chris Angelico
On Tue, Apr 2, 2013 at 3:45 PM, Tim Roberts t...@probo.com wrote: morphex morp...@gmail.com wrote: While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system with large exponentiation? There IS a cap. It's called the

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-04-02 Thread Nobody
On Mon, 01 Apr 2013 00:39:56 +, Alex wrote: Given that 3 5 4 (i.e.: 4**5**3) is transitive, I think you meant associative, and exponentiation isn't associative, i.e. (x**y)**z is not, in general, equal to x**(y**z). In fact, (x**y)**z is equal to x**(y*z). Conventional

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-04-02 Thread Dan Sommers
On Mon, 01 Apr 2013 21:45:30 -0700, Tim Roberts wrote: morphex morp...@gmail.com wrote: While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system with large exponentiation? There IS a cap. It's called the MemoryError

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-04-01 Thread Roy Smith
In article 51590a2b$0$3$c3e8da3$54964...@news.astraweb.com, Steven D'Aprano steve+comp.lang.pyt...@pearwood.info wrote: Concrete examples of transitive relations: greater than, equal to, less than and equal to. Will Python 4 implement less than and equal to? :-) [Warning: topic creep]

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-04-01 Thread Tim Roberts
morphex morp...@gmail.com wrote: While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system with large exponentiation? There IS a cap. It's called the MemoryError exception. But, seriously, what would you have it do

Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread morphex
Hi. I was just doodling around with the python interpreter today, and here is the dump from the terminal: morphex@laptop:~$ python Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more information. 1**2 1 1**2**3 1 1**2**3**4

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Dave Angel
On 03/31/2013 02:56 AM, morphex wrote: Hi. I was just doodling around with the python interpreter today, and here is the dump from the terminal: morphex@laptop:~$ python Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Steven D'Aprano
On Sat, 30 Mar 2013 23:56:46 -0700, morphex wrote: Hi. I was just doodling around with the python interpreter today, and here is the dump from the terminal: morphex@laptop:~$ python Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on linux2 Type help, copyright, credits or

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Dave Angel
On 03/31/2013 03:33 AM, Steven D'Aprano wrote: On Sat, 30 Mar 2013 23:56:46 -0700, morphex wrote: Hi. I was just doodling around with the python interpreter today, and here is the dump from the terminal: morphex@laptop:~$ python Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread morphex
Aha, OK. Thought I found a bug but yeah that makes sense ;) While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system with large exponentiation? On Sunday, March 31, 2013 9:33:32 AM UTC+2, Steven D'Aprano wrote: On Sat,

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Dave Angel
On 03/31/2013 08:07 AM, morphex wrote: Aha, OK. Thought I found a bug but yeah that makes sense ;) While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system with large exponentiation? There's an assumption there. The

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Roy Smith
In article 5157e6cc$0$29974$c3e8da3$54964...@news.astraweb.com, Steven D'Aprano steve+comp.lang.pyt...@pearwood.info wrote: For what it's worth, that last intermediate result (two to the power of the 489-digit number) has approximately a billion trillion trillion trillion trillion trillion

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Roy Smith
In article 8276eff6-9e5c-4060-b9e8-94fab6062...@googlegroups.com, morphex morp...@gmail.com wrote: Aha, OK. Thought I found a bug but yeah that makes sense ;) While we're on the subject, wouldn't it be nice to have some cap there so that it isn't possible to more or less block the system

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Roy Smith
In article mailman.4012.1364733818.2939.python-l...@python.org, Dave Angel d...@davea.name wrote: I'm typing this while a terminal is open doing the particular operation, and the system doesn't seem in the least sluggish. Currently the memory used is at 10gig, and while there are some

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Jason Swails
On Sun, Mar 31, 2013 at 9:15 AM, Roy Smith r...@panix.com wrote: $ prtstat 29937 Process: mongodState: S (sleeping) [...] Memory Vsize: 1998285 MB RSS: 5428 MB RSS Limit: 18446744073709 MB If I counted the digits right, that 1.9 TB. I love the RSS

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Alex
Dave Angel wrote: On 03/31/2013 02:56 AM, morphex wrote: 1**2 1 1**2**3 1 1**2**3**4 1L 1**2**3**4**5 Traceback (most recent call last): File stdin, line 1, in module MemoryError Does anyone know why this raises a MemoryError? Doesn't make sense to

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Chris Angelico
On Mon, Apr 1, 2013 at 9:06 AM, Alex foo@email.invalid wrote: Dave Angel wrote: On 03/31/2013 02:56 AM, morphex wrote: 1**2 1 1**2**3 1 1**2**3**4 1L 1**2**3**4**5 Traceback (most recent call last): File stdin, line 1, in module MemoryError Does anyone

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Chris Angelico
On Mon, Apr 1, 2013 at 9:28 AM, Chris Angelico ros...@gmail.com wrote: On Mon, Apr 1, 2013 at 9:06 AM, Alex foo@email.invalid wrote: Really? The Python 3 documentation (http://docs.python.org/3/reference/expressions.html) says in section 6.14 (Evaluation order) that Python evaluates

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Dave Angel
On 03/31/2013 06:06 PM, Alex wrote: Dave Angel wrote: On 03/31/2013 02:56 AM, morphex wrote: 1**2 1 1**2**3 1 1**2**3**4 1L 1**2**3**4**5 Traceback (most recent call last): File stdin, line 1, in module MemoryError Does anyone know why this raises a MemoryError? Doesn't make

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Alex
Chris Angelico wrote: Opening paragraph, ... exponentiation, which groups from right to left. It follows the obvious expectation from mathematics. (The OP is using Python 2, but the same applies.) Thanks. I did miss that parenthetical comment in para 6.15, and that would have been the

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Chris Angelico
On Mon, Apr 1, 2013 at 11:39 AM, Alex foo@email.invalid wrote: Given that 3 5 4 (i.e.: 4**5**3) is transitive, I would have expected Python to exhibit more consistency with the other operators. I guess that is one of the foolish consistencies that comprise the hobgoblins of my little

Re: Why does 1**2**3**4**5 raise a MemoryError?

2013-03-31 Thread Steven D'Aprano
On Mon, 01 Apr 2013 00:39:56 +, Alex wrote: Chris Angelico wrote: Opening paragraph, ... exponentiation, which groups from right to left. It follows the obvious expectation from mathematics. (The OP is using Python 2, but the same applies.) Thanks. I did miss that parenthetical