Without -yet- commenting on the File/OS/Filesystem issue, this bit of code
is either substantially wrong or just a convenience wrapper around what's
really going on:

On Wed, Jan 25, 2006 at 09:10:50PM +0000, Alberto Simões wrote:
>     $P0 = new .Path("/foo/bar")
[...]
>     $P0.is_dir()
>     $P0.is_file()

It is necessary that Parrot's filesystem interface make user-visible the
_event_ of measuring the attributes of a path _or_ an already open
filesystem object (e.g. calling stat() or fstat()).  It must also represent
the bundle of measurements returned as some kind of PMC.  (handwave handwave)

Perl 5 does this (fairly crudely) by returning a list of values from stat()
or lstat() which you can examine at leisure, and by special-casing the "_"
filehandle to mean "results of last stat".

The above-quoted example is only plausible if it's shorthand for, e.g.:

    $P1 = $P0.stat   # or lstat
    $P1.is_dir()
    $P1.is_file()

-- 
Chip Salzenberg <[EMAIL PROTECTED]>

Reply via email to