[Haskell-cafe] RE: ANN: System.FilePath 0.9

Udo Stenzel u.stenzel at web.de
Wed Jul 26 17:23:39 EDT 2006

Duncan Coutts wrote:
> In practise in the short term, the choice is between each application
> fumbling with strings in different incorrect ways or a library that
> fumbles with strings in a rather more considered and portable way.

Honestly I don't see a reason to bother with (++) and takeWhile and
isSuffixOf when there is a way to view paths as... uhm... well, paths
instead of strings.  Of course, this might just be a personal

> Try proposing something concrete

I might.  For the time being I didn't think about an actual proposal.
It's just that seeing the nitpicking about corner cases of an
approximate solution tripped me off somewhat.

> > - declare that Unix uses Unicode too, take the appropriate conversion
> >   from the locale
> Sadly this does not work.

Strictly speaking it wouldn't.  If I'm in a ISO-8859-15 locale and mount
a KOI-8R file system, I will get garbage instead of cyrillic letters.
Can't be fixed, no point in fretting about it.

All other problems basically vanish as soon as (unicodeToLocale .
localeToUnicode == id), and I maintain that this can be achieved by
reserving 256 code points in the vendor zone for use as escape

> > Heck, NO library fumbles with strings,
> > neither parsers nor pretty printers nor Network... why should a FilePath
> > be different?
> For compatibility with the Haskell98 IO library.

Aww, come on, module IO isn't going to vanish soon.  Instead a new one
could appear:

module System.IO.Sanitized where

import qualified System.IO as IO
import Control.Monad

openFile fp mode = liftIO $ IO.openFile (fpToString fp) mode

You get the idea...

> There's also the issue
> here that adding in lots of conversions ADT <-> String means that people
> will not bother to use it and will continue to do things like:
> readFile (path ++ "/" ++ file)

import System.IO.Sanitized

... readFile (path +/+ file) ...

I, for one, actually *want* to bother with an ADT.

Did you know that if you took all the economists in the world and lined
them up end to end, they'd still point in the wrong direction?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org//pipermail/haskell-cafe/attachments/20060726/28a08b8e/attachment.bin

More information about the Haskell-Cafe mailing list