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