My primary concerns are (in order of priority - and I only speak for myself)

(a) consistency across platforms
(b) minimize (unrequired) performance overhead

I would prefer an api which is consistent for both win32, posix or other os which only did as much as what the user (us) wanted
for example ...

module System.Directory.ByteString ...

FilePath = ByteString

getDirectoryContents :: FilePath -> IO [FilePath]

which is the same for both win32 and posix and represents raw uninterpreted bytestrings in whatever encoding/(non-encoding) the os provides....implicitly it is for the user to know and understand what their getting (utf-16 in the case of windows, bytes in case of posix platforms)


then this api can be re-exported with the decoding/encoding by
System.Directory/System.IO

which would export FilePath=String

ie a two level api...



_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to