
Hi, A good 3 months after discussion came to a close, here is a patch to implement System.FilePath in the base library. THE IMPLEMENTATION: System.FilePath imports and exports one of System.FilePath.Windows or System.FilePath.Posix based that platform. System.FilePath.Internal.hs is not a real Haskell module, but has all the core code for both the Windows and Posix versions. System.FilePath.Windows/Posix just #include Internal, with the appropriate defines. The actual Internal.hs is all the reviewed code, identical to how it was when agreed upon. NOTES: I've tested the modules as best I can, and they do seem to work, but when it comes to base I'm not entirely sure what I'm doing so, someone might want to take a quick check that I haven't done anything silly. In order to check "am I running on Windows" I have done: #if defined(mingw32_HOST_OS) || defined(__MINGW32__) That is just a complete guess based on what was elsewhere in base. Introducing something semantically better like WINDOWS might be better. TESTING INFRASTRUCTURE: I have a load of tests in the code, along with a utility to generate a test script from Internal.hs. What wants doing with this is someone else's call, the options are: * Don't care about the tests (a bit of a shame) * Run the test generation utility, and shove the result in a testing repo somewhere * Add the test generation utility, and build code to get it all working This can be dealt with after the above patch goes in. Any last comments, or can this be committed? Thanks Neil

Hello Neil, Tuesday, March 13, 2007, 5:14:40 AM, you wrote:
A good 3 months after discussion came to a close, here is a patch to implement System.FilePath in the base library.
Any last comments, or can this be committed?
i've made comments, are you don't seen them? -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin wrote:
Hello Neil,
Tuesday, March 13, 2007, 5:14:40 AM, you wrote:
A good 3 months after discussion came to a close, here is a patch to implement System.FilePath in the base library.
Any last comments, or can this be committed?
i've made comments, are you don't seen them?
You made several comments, but nothing that could be concretely acted upon. Yes, by all means split the base package, and create a new I/O library, but we should not let those projects stand in the way of providing Haskell users with a decent library for manipulating filenames. Cheers, Simon
participants (3)
-
Bulat Ziganshin
-
Neil Mitchell
-
Simon Marlow