On Wed, 2004-04-28 at 12:26, Dan Sugalski wrote:

> >>  NAME              Filename, no extension or path
> >>  EXTENSION File extension
> >
> >This represents a world-view that is not universal. Rather than making
> >Parrot into a lens through which system features need to be de-coded,
> >why not provide a set of modular native-friendly tools with which to
> >perform such operations?
> 
> Because you end up with 78 kinds of portability hell if you don't, as 
> everyone rolls their own way to handle this.

Oh, don't get me wrong! I'm not saying an abstraction isn't all keen and
such, I'm just wondering why we're abstracting farther out than POSIX
when "the right way", as you point out has never been a matter of
consensus, and many client languages will be presenting POSIX semantics
through their standard libraries anyway, which they will have to massage
your representation back into.

> I'm OK with adding a TYPE to the stat array as well, though more for 
> an "it's a file/socket/device/directory" type thing, rather than an 
> "it's an application/x-pdf file!" thing.

Well, since no OS I know of except for MacOS/Darwin has a reliable way
to determine the ACTUAL type of a file, that's wise.


##########################################

ALTERNATE RESPONSE

You didn't go far enough. Leave stat alone, back up 12 paces and write a
vfs layer for Parrot that comes in at a level of abstraction WAY above
the core POSIX/Win32/etc ops and provides a generic way to access URIs,
mailboxes, files, shared memory regions, etc, etc. Why abstract within
the arbitrary constraints of a POSIX-type stat model? Why assume that
something has a "name" rather than a "locator"? Why not provide an
abstract concept of type that encompasses all of MIME? Why not have
permissions/ACL/security be a totally separate object which can
understand SSL/TLS authentication models, pam, etc.?

The obvious response is that you want to ship Parrot before the Y3k bug
becomes a problem ;-) I understand that, and perhaps that's a reason to
speculate about such a best, but implement after 1.0, but that doesn't
invalidate the point.

-- 
Aaron Sherman <[EMAIL PROTECTED]>
Senior Systems Engineer and Toolsmith
"It's the sound of a satellite saying, 'get me down!'" -Shriekback


Reply via email to