importing Distribution.Compat.FilePath fails

Putting import Distribution.Compat.FilePath in my source results in Could not find module `Distribution.Compat.FilePath': it is hidden (in package Cabal-1.1.6) I want to use 'joinFileName'. I found this thread from the cabal-devel list http://www.mail-archive.com/cabal-devel@haskell.org/msg00162.html and I was hoping that my cabal version would have an unhidden FilePath module... apparently not. Can I unhide it somehow? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. It's important for a corporate leader to know the difference between what is actually illegal, and what people assume should be illegal. -- Bill Gates, in interview for The Register, 19th June 2006

On 11/18/06, Magnus Therning
Putting
import Distribution.Compat.FilePath
in my source results in
Could not find module `Distribution.Compat.FilePath': it is hidden (in package Cabal-1.1.6)
I want to use 'joinFileName'.
I found this thread from the cabal-devel list
http://www.mail-archive.com/cabal-devel@haskell.org/msg00162.html
and I was hoping that my cabal version would have an unhidden FilePath module... apparently not. Can I unhide it somehow?
How about using this instead: http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath -- Cheers, Lemmih

On Sat, Nov 18, 2006 at 20:18:12 +0100, Lemmih wrote:
On 11/18/06, Magnus Therning
wrote: Putting
import Distribution.Compat.FilePath
in my source results in
Could not find module `Distribution.Compat.FilePath': it is hidden (in package Cabal-1.1.6)
I want to use 'joinFileName'.
I found this thread from the cabal-devel list
http://www.mail-archive.com/cabal-devel@haskell.org/msg00162.html
and I was hoping that my cabal version would have an unhidden FilePath module... apparently not. Can I unhide it somehow?
How about using this instead: http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath
The only reason would be that it isn't in my GHC install by default (I'm on Debian Sid). However, I suppose I can look at this as an excellent first experiment with Cabal and packaging Haskell libs for Debian :-) Thanks for pointing it out. Looks like a perfect fit for me! /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. Programs should be written for people to read, and only incidentally for machines to execute. -- Quote from Structure and Interpretation of Computer Programs

Hi
How about using this instead: http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath
The only reason would be that it isn't in my GHC install by default (I'm on Debian Sid). However, I suppose I can look at this as an excellent first experiment with Cabal and packaging Haskell libs for Debian :-)
Thanks for pointing it out. Looks like a perfect fit for me!
I think someone is packaging this for Debian already, you might want to email the debian haskell list to check and avoid duplicated work. Thanks Neil

On 18/11/06, Magnus Therning
Could not find module `Distribution.Compat.FilePath': it is hidden (in package Cabal-1.1.6)
I want to use 'joinFileName'.
Try upgrading to 1.1.6.1. This explains why: http://www.haskell.org/pipermail/libraries/2006-October/005996.html Alistair

On Sun, Nov 19, 2006 at 21:24:53 +0000, Alistair Bayley wrote:
On 18/11/06, Magnus Therning
wrote: Could not find module `Distribution.Compat.FilePath': it is hidden (in package Cabal-1.1.6)
I want to use 'joinFileName'.
Try upgrading to 1.1.6.1. This explains why: http://www.haskell.org/pipermail/libraries/2006-October/005996.html
The official FilePath they mention, is that Neil Mitchell's module (mentioned earlier in this thread)? I'm not looking to use it in a Setup.hs :-) /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus Software is not manufactured, it is something you write and publish. Keep Europe free from software patents, we do not want censorship by patent law on written works. If our ideas of intellectual property are wrong, we must change them, improve them and return them to their original purpose. When intellectual property rules diminish the supply of new ideas, they steal from all of us. -- Andrew Brown, November 19, 2005, The Guardian

Hi
The official FilePath they mention, is that Neil Mitchell's module (mentioned earlier in this thread)?
There is the Cabal FilePath library, by Lemmih, which is bundled with Cabal. Cabal is not really the place to put a FilePath library, so I took it out, merged it with a library I wrote for Yhc, took some ideas out of other places as well and put together a new FilePath library. It is my intention to try and get this FilePath library into the base, a process which I'll probably be starting next week. I would recommend you use my FilePath library, and have a nice easy upgrade to just importing FilePath directly sometime in the future. Thanks Neil

Hello Neil,
It is my intention to try and get this FilePath library into the base,
please no!!! why you don't understand that including in base means death of development for any library! are you really want that anyone who need new version of your lib should recompile GHC himself?! libs should be included in "base libs" set and i proposed a few months ago to radically extend it by including fundamental libs, including FilePath. but base library, which contains ghc-version specific code and can't be upgraded using cabal, should not evolve. see our discussion in libraries maillist -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Hi
It is my intention to try and get this FilePath library into the base,
please no!!! why you don't understand that including in base means death of development for any library! are you really want that anyone who need new version of your lib should recompile GHC himself?!
I consider the FilePath library to be complete, and somewhat frozen already. I doubt that people need many other features - so I don't think thats the end of the world. I have split my FilePath library into System.FilePath (which I want included in base) and System.FilePath.Version_0_10 (which people should currently import) - that way there are no conflicts, and in a few years time everyone can use System.FilePath instead of the version specific one, and everyone will be happy. I don't propose to break any current users at any point.
libs should be included in "base libs" set and i proposed a few months ago to radically extend it by including fundamental libs, including FilePath. but base library, which contains ghc-version specific code and can't be upgraded using cabal, should not evolve. see our discussion in libraries maillist
I think that FilePath should be in the current base library, as its standards go. Once your work to split base up into just the compiler dependant bits is done then I think it should be moved out, but I suspect that this work won't happen until 6.10 or later, so it deserves to go in the base library now. Anyway, I think we can have a big discussion on this when the time comes - so any discussion now would just be preempting things. Thanks Neil
participants (5)
-
Alistair Bayley
-
Bulat Ziganshin
-
Lemmih
-
Magnus Therning
-
Neil Mitchell