Hi there. > That would take care of the incompatibility here, but > it's a slippery slope.
Just how slippery the filename slope can get is shown by Common Lisp filename/logical pathnames: http://www.cs.queensu.ca/software_docs/gnudev/gcl-ansi/gcl_1063.html#SEC1063 > Should Haskell provide you with > a platform-independent view of filenames and file > systems? I think that if a language implementation takes the trouble to provide a cross-platform library function then that function should be consistent across those platforms up to the limits of available programmer time and common sense. For example, I think that Haskell 98 library functions should have particular care applied to them and I think that the trailing "/" problem should be eliminated. Allowable cross platform variations should be documented in the standard. By the same logic, I don't believe that much effort at all should be applied to reproducing cross-platform behaviour in the GHC Posix library on systems which do not support Posix. Generally I think that compilers striving to support production programming should, where possible, provide at least basic coverage of low level system specific libraries and low level programming. Such coverage in tandem with efficient higher level abstracted libraries such as ObjectIO, gives programmers lots of useful options and is a great strength of GHC. Cheers Mike Thomas. > > --sigbjorn > > ----- Original Message ----- > From: "Simon Peyton-Jones" <[EMAIL PROTECTED]> > To: "Sigbjorn Finne" <[EMAIL PROTECTED]>; "Claus Reinke" > <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]> > Sent: Tuesday, October 22, 2002 08:50 > Subject: RE: Directory.doesDirectoryExist inconsistency > > > > Sigbjorn (and others interested in Win32 I/O behaviour) > > > > The fact that MS CRT differs from Unix doesn't mean that the Haskell > > interface should necessarily differ. The Haskell impl of > > doesDirectoryExist could, on Win32, trim off trailing '/' or '\', in > > order to make the behaviour consistent. Where it's possible to get > > consistent behaviour, we should strive for that. Do you agree? > > > > Simon > > > > | -----Original Message----- > > | From: Sigbjorn Finne [mailto:sof@;galois.com] > > | Sent: 16 October 2002 15:54 > > | To: Claus Reinke > > | Cc: [EMAIL PROTECTED] > > | Subject: Re: Directory.doesDirectoryExist inconsistency > > | > > | This is known behaviour of the MS CRT implementation > > | of stat() on directories -- trailing slashes will cause it to > > | report ENOENT. > > | > > | Undesirable behaviour, you might (reasonably) say, but > > | the format of FilePaths is left system-specific by Haskell98. > > | > > | --sigbjorn > > | > > | ----- Original Message ----- > > | From: "Claus Reinke" <[EMAIL PROTECTED]> > > | To: <[EMAIL PROTECTED]> > > | Sent: Wednesday, October 16, 2002 07:21 > > | Subject: Directory.doesDirectoryExist inconsistency > > | > > | > > | > I've just been chasing a portability problem, where a largish > > third-party > > | > program works fine on our suns (ghc-5.02.3), but chokes under > > | > cygwin/windows (ghc-5.04). Comes down to an inconsistency in the > > | > handling of (trailing?) slashes in Directory.doesDirectoryExist (see > > | > a and b below). > > | > > > | ... > > | > > | _______________________________________________ > > | Glasgow-haskell-bugs mailing list > > | [EMAIL PROTECTED] > > | http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs > > _______________________________________________ > > Glasgow-haskell-bugs mailing list > > [EMAIL PROTECTED] > > http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs > > _______________________________________________ > Glasgow-haskell-bugs mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs > _______________________________________________ Glasgow-haskell-bugs mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
