On Fri, Sep 12, 2003 at 10:29:04AM +0300, Vladimir Lipskiy wrote:
> > People make mistakes.  Perhaps you should produce some errors if a user
> > strays outside these rules.  Garbage in, garbage out: Bad.  Garbage in,
> > error out: Good.
> 
> It really does that. I mean that it returns a "" when it suspects its
> arguments to be wrong.
> 
> > I'll admit to not knowing the general error philosophy of Parrot ops.
> 
> It could throw an internal exception, but ... I am not convinced we should
> switch to that sort of indicating errors. Though what kind of errors it
> ought to provide is a subject to be arguing about.

This does sound like something that should be covered by some sort of
"How should ops handle bad input" design document.  If there is such a
beast, do what it recommends.  If there isn't, there should be one.


> > What if I feed you:
> >
> > concat_dirnames("VOL1:[dir.dir]", "VOL2:[dir.dir]")
> >
> > Well, I suppose that's simple, its an error since you can't usefully
> > concatenate two absolute directories.  Anyhow, the point is is an *error*.
> 
> Yes, and since concat_dirnames() isn't supposed to concatenate anything
> but dirnames.

Are you saying:

concat_dirnames("C:\foo", "bar") == error?


> > But I was unclear.  I meant the other way around.
> >
> > concat_dirnames("b", ":my disk:a");
> >
> > Trying to concatenate an absolute directory onto a relative one should
> > produce an error.
> 
> What do you mean by "absolute directory"?

/foo
C:\foo
[foo]
VOL:[foo]
\foo

etc...

Which isn't clear from the example I gave above since ":mydisk:a" is
ambiguous on MacOS.

To be clearer:  concat_dirnames("b", "/foo") == error.


-- 
Michael G Schwern        [EMAIL PROTECTED]  http://www.pobox.com/~schwern/
Here's hoping you don't harbor a death wish!

Reply via email to