On Wed, Jul 26, 2006 at 08:19:47PM +0100, Neil Mitchell wrote: > >Ok, this is a good use case. What should wget do if "isValid" fails? > > makeValid is system dependant, and unspecified in its behaviour, > although obviously some kind of closeness to the original would be > ideal. So what if isValid fails and we don't have this?
Sorry, I meant to say what I think wget should do. IMO, it should have a conservative set of allowed characters, encode the filename into that set using an escaping mechanism it specifies, attempt to open the file O_EXCL, modify the name if it fails. The allowed characters set could perhaps come from the filepath module, though I suspect this is overkill. Simpler just to hard-code the set so that the name mangling is platform-independent and can be fully documented. > >> > As you acknowledge, it's a crap-shoot. So what's the point? > >> Its a case of reality, at the moment people use == to test if two file > >> paths are equal, at least this is a better test. > >Why is it better? > > Because its right more often, so pragmatically, is better To me, that answer is unsatisfactory. > >> >I think of that as a separate module, because extensions have no meaning > >>> to the system and can be done with portable, functional code, as far as > >> > I understand. > >> Not really, what about getExtension "file.ext\lump" - the answer is "" > >> on windows and ".ext\lump" on Posix. > >You would only call the extension functions on a segment name. > > So this system independant extension module is dependant on a platform > specific FilePath module? Or do you demand people make two function > calls to get the extension? One or the other, it seems a minor detail to me. There's nothing wrong with having the extension module use the filepath module. > >> Not to the system, but some programs like to make a difference. > > > >How does it make a difference? Do you have an answer that applies > >uniformly to all programs? If not, aren't we just walking down a blind > >alley? I've heard that Emacs treats double-separators specially. Do we > >account for that too? > > Haskell makes the difference, runInteractiveCommand vs runInteractiveProcess I'm not following. Andrew _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
