Michael G Schwern skribis 2005-04-15 13:12 (-0700):
> To be clear:  Only the store operation will return undef on failure.  
> Additional fetches on $CWD will continue to return the cwd.

Still breaks

    $ref = \($CWD = $foo);

I'm not sure this breakage matters, but if it breaks one thing, it's
likely to break more than just that one thing, and I wonder how much
attention this has been given.

Hm, but $CWD++ is nice! Especially if after photos9 it goes to photos10,
and not photot0. How does string ++ work in Perl 6, anyway?

> The problem there is it leaves $CWD without an error mechanism and thus
> becomes an unverifiable operation.  You have to use chdir() if you want to
> error check and $CWD is reduced to a "scripting" feature.

Well, after failure it can be cwd() but false without breaking any real
code, because normally, you'd never if (cwd) { ... }, simply because
there's ALWAYS a cwd. If this is done, the thing returned by the STORE
can still be an lvalue and thus be properly reffed.

This would mean you'd use or instead of err, but I don't understand the
point of err meaning "error" together with the introduction of
true-but-false values anyway. Low-prec // should imo just be spelled
dor. But it's too late for that, of course.


Reply via email to