On Mon, 28 Jul 2003, Wolfgang Thaller wrote: > It's not that easy. Case sensitivity is a property of a file system, > not of the operating system.
Actually, it's not even that easy. The NT native API allows you to specify case sensitivity as a flag when creating or opening a file in any directory (at least on NTFS). You can create file entries this way which are inaccessible from the Win32 subsystem because they're shadowed by other names in the same directory which differ only in case. If we ignore that complication, I think the right way to handle this is with dIsCaseSensitive :: Directory -> IO Bool. Assuming, as always, that there's a way to implement that. Or perhaps it should be Maybe Bool instead of Bool. > isCaseSensitive :: FilePath -> IO Bool I don't think it's clear what this should mean. Assuming you have a case-insensitive filesystem rooted at /mnt, what should isCaseSensitive "/mnt" return? The filesystem rooted there is case-insensitive, but the pathname passed to the function is 100% case-sensitive. (This also has the usual problems associated with any function which uses pathnames. See my comments on the Libraries list.) -- Ben _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell