I guess it's just that I'm more concerned with making possible what is
currently impossible (according to the library standards)--that is, using
FFI and IO on the same file--rather than just adding utility features that
application developers could have written themselves. I suppose we don't
need a class for this, all we need is a couple of functions to convert
between FilePath and CString.


Except paths are different on different platforms... for example:

/a/b/../c/hello\ there/test

and:

A:\a\b\

notice how the backslash is used to 'escape' a space or meta-character on
unix, but is the path separator for windows. If you want to write portable
applications, then you dont want to hard code the platform type. So converting
from the datatype to a string is not simple:


   string = pathToString ...

one way of doing this is to have pathToString call a function to determine the
system type and construct the string accordingly. The problem here is that it is
not extensible by the user, the supported platforms are determined by the library.
By using a class we can let the user define translations for new platforms...


   Keean.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to