Re: More Array Behaviors

2003-01-29 Thread Austin Hastings
--- Nicholas Clark [EMAIL PROTECTED] wrote: On Tue, Jan 28, 2003 at 09:17:36AM -0800, Damian Conway wrote: Errno. That's rather the whole point of Cbut properties [*]. [*] People, we just *have* to find better names for these things! I'd suggest we henceforth call them value

Re: More Array Behaviors

2003-01-29 Thread Nicholas Clark
On Wed, Jan 29, 2003 at 07:46:43AM -0800, Austin Hastings wrote: Obviously, values are pure and therefrom spring virtues, while objects are but vile clay -- fallible constructs of a sinful man, pathetically trying to recreate an envisioned ideal. Ergo, they have naught but vices. Can I get

Re: More Array Behaviors

2003-01-29 Thread Austin Hastings
--- Nicholas Clark [EMAIL PROTECTED] wrote: On Wed, Jan 29, 2003 at 07:46:43AM -0800, Austin Hastings wrote: Obviously, values are pure and therefrom spring virtues, while objects are but vile clay -- fallible constructs of a sinful man, pathetically trying to recreate an envisioned ideal.

Re: More Array Behaviors

2003-01-28 Thread Piers Cawley
Damian Conway [EMAIL PROTECTED] writes: Dave Whipp wrote: OK, I've assimilated all that (though it still feels wrong). I think you are saying that of the following, the 4th is an error. my @d = @x but Foo; # error: no values involved in this assignment Correct. Although presumably this:

Re: More Array Behaviors

2003-01-28 Thread Dan Sugalski
At 8:46 AM + 1/28/03, Piers Cawley wrote: Bugger. I was hoping that Perl 6 was going to make a Pixie like Object database easier to write; looks like I'm wrong. One of the things Pixie does is to attach its control data by magic to the object itself (rather than any particular variable

Re: More Array Behaviors

2003-01-28 Thread Damian Conway
Piers Cawley wrote: Bugger. I was hoping that Perl 6 was going to make a Pixie like Object database easier to write; looks like I'm wrong. One of the things Pixie does is to attach its control data by magic to the object itself (rather than any particular variable pointing to it). This lets us

Re: More Array Behaviors

2003-01-28 Thread Piers Cawley
Dan Sugalski [EMAIL PROTECTED] writes: At 8:46 AM + 1/28/03, Piers Cawley wrote: Bugger. I was hoping that Perl 6 was going to make a Pixie like Object database easier to write; looks like I'm wrong. One of the things Pixie does is to attach its control data by magic to the object itself

Re: More Array Behaviors

2003-01-28 Thread Piers Cawley
Damian Conway [EMAIL PROTECTED] writes: Piers Cawley wrote: Bugger. I was hoping that Perl 6 was going to make a Pixie like Object database easier to write; looks like I'm wrong. One of the things Pixie does is to attach its control data by magic to the object itself (rather than any

More Array Behaviors (Take 2)

2003-01-28 Thread Michael Lazzaro
OK, here are the answers so far -- or more accurately, strawman interpretations of those answers that should be objected to if they're wrong. 1) Edge cases in array indexing: my int @a = (1,2,3); @a[0] # 1 @a[1] # 2 @a[2] # 3 @a[3] # undef

Re: More Array Behaviors (Take 2)

2003-01-28 Thread Dan Sugalski
At 10:13 AM -0800 1/28/03, Michael Lazzaro wrote: OK, here are the answers so far -- or more accurately, strawman interpretations of those answers that should be objected to if they're wrong. I think some of this is incorrect which, because Damian thinks otherwise, will need some hashing out

Re: More Array Behaviors (Take 2)

2003-01-28 Thread Michael Lazzaro
On Tuesday, January 28, 2003, at 10:20 AM, Dan Sugalski wrote: At 10:13 AM -0800 1/28/03, Michael Lazzaro wrote: 1) Edge cases in array indexing: my int @a = (1,2,3); @a[3] # undef (warning: index out-of-bounds) Or a real 0, since you said @a can only return integers.

Re: More Array Behaviors (Take 2)

2003-01-28 Thread John Williams
On Tue, 28 Jan 2003, Dan Sugalski wrote: At 10:13 AM -0800 1/28/03, Michael Lazzaro wrote: @a[ Inf ] # undef (warning: can't use Inf as array index) I'd throw an exception here. @a[-4]# undef (warning: index out-of-bounds) @a[-Inf] # undef (warning:

Re: More Array Behaviors (Take 2)

2003-01-28 Thread Damian Conway
Michael Lazzaro wrote: OK, here are the answers so far -- or more accurately, strawman interpretations of those answers that should be objected to if they're wrong. 1) Edge cases in array indexing: my int @a = (1,2,3); @a[0] # 1 @a[1] # 2 @a[2] # 3

More Array Behaviors (Take 3)

2003-01-28 Thread Michael Lazzaro
Corrected in accordance with design team member feedback. These should be solid, now. Thanks much for the responses. 1) Edge cases in array indexing: my @a = (1,2,3); @a[0] # 1 @a[1] # 2 @a[2] # 3 @a[3] # def (warning: index

Re: More Array Behaviors

2003-01-28 Thread Nicholas Clark
On Tue, Jan 28, 2003 at 09:17:36AM -0800, Damian Conway wrote: Errno. That's rather the whole point of Cbut properties [*]. [*] People, we just *have* to find better names for these things! I'd suggest we henceforth call them value properties (for Cbut) and referent properties

More Array Behaviors

2003-01-27 Thread Michael Lazzaro
Some requests for verification, plus additional questions. If anyone has any arguments/clarifications/questions on these, please discuss so I can document. 1) Edge cases in array indexing: my int @a = (1,2,3); @a[0] # 1 @a[1] # 2 @a[2] # 3 @a[3]

Re: More Array Behaviors

2003-01-27 Thread Nicholas Clark
On Mon, Jan 27, 2003 at 11:00:17AM -0800, Michael Lazzaro wrote: resize = (1024), # internal blocksize (in indexes) # by which array expands? resize = { $_ * 2 }, # or via closure, based on current size? I think you're making too many

Re: More Array Behaviors

2003-01-27 Thread Michael Lazzaro
On Monday, January 27, 2003, at 01:15 PM, Dave Whipp wrote: Michael Lazzaro [EMAIL PROTECTED] wrote in message ... if such capabilities exist, what are their real names? Can anyone think of any that are absolute must-haves? Are any of the above must-haves? I think that the only

Re: More Array Behaviors

2003-01-27 Thread John Williams
On Mon, 27 Jan 2003, Michael Lazzaro wrote: Some requests for verification, plus additional questions. If anyone has any arguments/clarifications/questions on these, please discuss so I can document. 1) Edge cases in array indexing: @a[ undef ] # undef, or 1? @a['foo'] #

Re: More Array Behaviors

2003-01-27 Thread Damian Conway
Michael Lazzaro wrote: 1) Edge cases in array indexing: @a[ undef ] # undef, or 1? @a['foo'] # undef, or 1? These should generate warnings, at least. I don't know whether undef or 1 is more correct. It's certainly a legitimate question. (I'm not sure that @a[undef] ==

Re: More Array Behaviors

2003-01-27 Thread Dave Whipp
Damian Conway [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Anything that holds anything is a variable, not a value. [...] I'm saying that only scalar *values* can have Cbut properties. And yes, that includes Array references, but not arrays. My mental image

Re: More Array Behaviors

2003-01-27 Thread Austin Hastings
--- Damian Conway [EMAIL PROTECTED] wrote: Note that converting to and from Cundef in numeric contexts is much less troublesome in Perl 6, because the C// operator makes it trivial to catch bad cases and handle them appropriately: @a[$str//0] // silently convert to zero

Re: More Array Behaviors

2003-01-27 Thread Austin Hastings
--- Dave Whipp [EMAIL PROTECTED] wrote: Damian Conway [EMAIL PROTECTED] wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... Anything that holds anything is a variable, not a value. [...] I'm saying that only scalar *values* can have Cbut properties. And yes, that includes Array

Re: More Array Behaviors

2003-01-27 Thread Damian Conway
Dave Whipp wrote: OK, I've assimilated all that (though it still feels wrong). I think you are saying that of the following, the 4th is an error. my @d = @x but Foo; # error: no values involved in this assignment Correct. Although presumably this: my @d = @x »but« Foo; is okay. I