Re: handling undef better

2005-12-23 Thread TSa
HaloO, Nicholas Clark wrote: I think that Larry is referring to slightly larger and more expensive rockets than regular fireworks: http://www.siam.org/siamnews/general/ariane.htm I know. But where would we put Perl 6 onto a range of programming languages parrallel to rockets ranging from

Re: handling undef better

2005-12-22 Thread TSa
HaloO, Larry Wall wrote: And replying to the thread in general, I'm not in favor of stricter default rules on undef, because I want to preserve the fail-soft aspects of Perl 5. Also replying to the thread in general, I feel that undef as a language concept mixes too many usefull concept into

Re: handling undef better

2005-12-22 Thread Nicholas Clark
On Thu, Dec 22, 2005 at 02:00:49PM +0100, TSa wrote: HaloO, Larry Wall wrote: but you do not want your rocket control software throwing unexpected exceptions just because one of your engine temperature sensors went haywire. That's a good way to lose a rocket. But then again you might

Re: handling undef better

2005-12-21 Thread Randal L. Schwartz
Uri == Uri Guttman [EMAIL PROTECTED] writes: Uri sorting in p6 is not at all like in p5. instead of coding up an explicit Uri comparison code block and duplicating all the key access code (for $a Uri and $b), you will specify how to extract/generate each key for a given Uri record. this new

Re: handling undef better

2005-12-21 Thread Uri Guttman
RLS == Randal L Schwartz merlyn@stonehenge.com writes: Uri == Uri Guttman [EMAIL PROTECTED] writes: Uri sorting in p6 is not at all like in p5. instead of coding up an explicit Uri comparison code block and duplicating all the key access code (for $a Uri and $b), you will specify how to

Re: handling undef better

2005-12-21 Thread Randal L. Schwartz
Uri == Uri Guttman [EMAIL PROTECTED] writes: Uri i will let damian handle this one (if he sees it). but an idea would be Uri to allow some form ofkey extraction via a closure with lazy evaluation Uri of the secondary (and slower) key. I still don't see that. I understand about the lazy key

Re: handling undef better

2005-12-21 Thread Uri Guttman
RLS == Randal L Schwartz merlyn@stonehenge.com writes: Uri == Uri Guttman [EMAIL PROTECTED] writes: Uri i will let damian handle this one (if he sees it). but an idea would be Uri to allow some form ofkey extraction via a closure with lazy evaluation Uri of the secondary (and slower) key.

Re: handling undef better

2005-12-21 Thread John Macdonald
On Wed, Dec 21, 2005 at 10:25:09AM -0800, Randal L. Schwartz wrote: Uri == Uri Guttman [EMAIL PROTECTED] writes: Uri i will let damian handle this one (if he sees it). but an idea would be Uri to allow some form ofkey extraction via a closure with lazy evaluation Uri of the secondary (and

Re: handling undef better

2005-12-19 Thread Michele Dondi
On Fri, 16 Dec 2005, Darren Duncan wrote: An undefined value is NOT the same as zero or an empty string respectively; the latter two are very specific and defined values, just like 7 or 'foo'. [snip] Therefore, I propose that the default behaviour of Perl 6 be changed or maintained such that:

RE: handling undef better

2005-12-19 Thread Michele Dondi
On Sat, 17 Dec 2005, Darren Duncan wrote: Undef means don't know, which is distinct from zero, because in the latter case we explicitly have a value of zero. But when we don't know we can, and generally do, make reasonable _guesses_. Experience has shown that 0 or '' according the context

Re: handling undef better

2005-12-19 Thread Michele Dondi
On Sat, 17 Dec 2005, Darren Duncan wrote: Actually, I don't like autovivification either, and wish there was a pragma to make attempts to do it a fatal error; it smacks too much of using variables that weren't declared with 'my' etc. I prefer to put in the What has the latter to do with

[OT?] Quote (was: Re: handling undef better)

2005-12-19 Thread Michele Dondi
On Mon, 19 Dec 2005, Michele Dondi wrote: You have very strong arguments, but I think that Perl becoming more solid should not come at the expense of practicity. Indeed the single warning I Speaking of which: | The connection between the language in which we think/program and the | problems

Re: handling undef better

2005-12-19 Thread Paul Johnson
On Mon, Dec 19, 2005 at 12:13:04PM +0100, Michele Dondi wrote: my $x; $x-{foo}[42][2005]{bar}='quux'; Would you like to have to explicitly and verbosely declare the shape of the structure held in $x instead? I would like the option to have to, or to be able to do that, and maybe to

Re: [OT?] Quote (was: Re: handling undef better)

2005-12-19 Thread chromatic
On Monday 19 December 2005 05:06, Michele Dondi wrote: Speaking of which: | The connection between the language in which we think/program and the | problems and solutions we can imagine is very close. For this reason | restricting language features with the intent of eliminating programmer

RE: handling undef better

2005-12-17 Thread Darren Duncan
At 2:27 AM -0500 12/17/05, Gordon Henriksen wrote: I find it useful to distinguish between unassigned and undefined (null). I think that the whole point of having undef in the first place was to indicate when a container wasn't assigned to yet, and hence has no useable value. Also, that

Re: handling undef better

2005-12-17 Thread Luke Palmer
On 12/17/05, Darren Duncan [EMAIL PROTECTED] wrote: An undefined value is NOT the same as zero or an empty string respectively; the latter two are very specific and defined values, just like 7 or 'foo'. I definitely agree with you in principle. This is something that has been bugging me, too.

Re: handling undef better

2005-12-17 Thread Darren Duncan
At 9:30 AM + 12/17/05, Luke Palmer wrote: On 12/17/05, Darren Duncan [EMAIL PROTECTED] wrote: Undef, by definition, is different from and non-equal to everything else, both any defined value, and other undefs. You said by definition, but where is this definition? Maybe definition was

RE: handling undef better

2005-12-17 Thread Gordon Henriksen
-language@perl.org Subject: Re: handling undef better At 10:07 PM -0800 12/16/05, chromatic wrote: On Friday 16 December 2005 18:15, Darren Duncan wrote: 0. An undefined value should never magically change into a defined value, at least by default. This is fairly well at odds with the principle

Re: handling undef better

2005-12-17 Thread Ruud H.G. van Tol
Darren Duncan schreef: A variable whose value is undefined is still a typed container; eg: my Int $z; # undef since not assigned to my Str $y; # undef since not assigned to If 'undef' becomes 'fail' at the same time that those base types don't have default start-values such as 0 and ''

Re: handling undef better

2005-12-17 Thread Ruud H.G. van Tol
Gordon Henriksen schreef: I find it useful to distinguish between unassigned and undefined (null). I am not sure that you need this distinction, but it should be no problem to have it, just like 'tainted' and 'NaN' and 'zero/empty' and 'error'. I find null propagation frustrating; it's more

Re: handling undef better

2005-12-17 Thread David Green
On 12/16/05, Darren Duncan wrote: The root question of the matter is, what does undef mean to you? To me it means nothing. (I'm so callous.) The fact is, that in any normal program, using an undefined value as if it were a defined one is a bug. Normally there will be a point where such a

Re: handling undef better

2005-12-17 Thread Rob Kinyon
On 12/17/05, Darren Duncan [EMAIL PROTECTED] wrote: [snip] 2. Until a value is put in a container, the container has the POTENTIAL to store any value from its domain, so with respect to that container, there are as many undefs as there are values in its domain; with some container types, this

Re: handling undef better

2005-12-17 Thread Uri Guttman
LP == Luke Palmer [EMAIL PROTECTED] writes: LP Actually, you can think of undef pretty much as defining LP autovivification. If you use it as a number, it becomes a number; if LP you use it as a string, it becomes a string; if you use it as a hash, LP it becomes a hash; ... LP

Re: handling undef better

2005-12-17 Thread Sebastian
I still think it'd be neat to have a special Undef class of some sort which can be subclassed and further defined to really DWIM rather than be stuck with whatever pragmas Perl has graciously built in. Something like this would require more thinking and speculation -- and it may hurt performance

Re: handling undef better

2005-12-17 Thread Ashley Winters
On 12/17/05, Sebastian [EMAIL PROTECTED] wrote: Obviously there are mixed opinions of how undef should be treated and some won't be happy with what becomes final, so implementing some intelligent defaults and simple pragmas, but not excluding the ability to *really* control your undefs,

Re: handling undef better

2005-12-17 Thread chromatic
On Friday 16 December 2005 22:25, Darren Duncan wrote: At 10:07 PM -0800 12/16/05, chromatic wrote: This is fairly well at odds with the principle that users shouldn't have to bear the burden of static typing if they don't want it. This matter is unrelated to static typing. The state of

Re: handling undef better

2005-12-17 Thread Uri Guttman
DD == Darren Duncan [EMAIL PROTECTED] writes: DD At 9:30 AM + 12/17/05, Luke Palmer wrote: You're actually saying that undef either compares less than or greater than all other objects, which contradicts your earlier point. I'd say it just fails. DD At the time I wrote

Re: handling undef better

2005-12-17 Thread Larry Wall
On Sat, Dec 17, 2005 at 12:12:15PM -0800, Ashley Winters wrote: : Explicitly nil values wouldn't warn or fail on activities which undef : does. nil is basically a value which is simultaneously '' and 0 and : 0.0 and false *and* defined, and allows itself to be coerced with the : same rules as

handling undef better

2005-12-16 Thread Darren Duncan
Something else I've been thinking about, as a tangent to the relational data models discussion, concerns Perl's concept of undef, which I see as being fully equivalent to the relational model's concept of null. The root question of the matter is, what does undef mean to you? To me, it means

Re: handling undef better

2005-12-16 Thread Sebastian
Hi, Overloading undef would be cool. This way Joe Coder can make it act however he'd like when it's not used in the various contexts or operations -- string, math, smart ... Basically a pragma (or something) would define the behavior of all undefs declared within the given scope. Since each undef

Re: handling undef better

2005-12-16 Thread Sebastian
Please scratch that first parahgraph because it's incoherrent and I'm crazy: Overloading undef would be cool. This way Joe Coder can make it act however he'd like when it's not used in the various contexts or operations -- string, math, smart ... Basically we would subclass (something) to to

Re: handling undef better

2005-12-16 Thread Rob Kinyon
On 12/16/05, Darren Duncan [EMAIL PROTECTED] wrote: Something else I've been thinking about, as a tangent to the relational data models discussion, concerns Perl's concept of undef, which I see as being fully equivalent to the relational model's concept of null. The relational model doesn't

Re: handling undef better

2005-12-16 Thread chromatic
On Friday 16 December 2005 18:15, Darren Duncan wrote: Therefore, I propose that the default behaviour of Perl 6 be changed or maintained such that: 0. An undefined value should never magically change into a defined value, at least by default. This is fairly well at odds with the principle

Re: handling undef better

2005-12-16 Thread Darren Duncan
At 11:57 PM -0500 12/16/05, Rob Kinyon wrote: How many different undefs are there? That depends on what exactly you are asking. 1. An undef is what you have when a container contains no explicit value (or junction/etc thereof). A variable whose value is undefined is still a typed

Re: handling undef better

2005-12-16 Thread Darren Duncan
At 10:07 PM -0800 12/16/05, chromatic wrote: On Friday 16 December 2005 18:15, Darren Duncan wrote: 0. An undefined value should never magically change into a defined value, at least by default. This is fairly well at odds with the principle that users shouldn't have to bear the burden of