From sven.panne at aedion.de Mon Apr 2 07:13:27 2007 From: sven.panne at aedion.de (Sven Panne) Date: Mon Apr 2 07:12:26 2007 Subject: [cvs-nhc98] Package versioning confusion Message-ID: <200704021313.27983.sven.panne@aedion.de> I'm currently trying to unify the darcs-all scripts for GHC/Hugs/nhc, adding a "--release" option on the way, which is inteded to retrieve fixed versions from Hackage instead of the latest & greatest stuff from darcs repos. Looking at nhc's package list, I found a few issues: * Iavor's package is called "monadLib", but the darcs repo on darcs.haskell.org is called "monad". I propose to simply rename that directory to match "monadLib". There is already an empty directory of the same name there, so somebody else was obviously confused, too. If nobody yells soon, I'll do this renaming. * Malcolm: Could you move the polyparse repository from http://www.cs.york.ac.uk/fp/darcs/polyparse to darcs.haskell.org/packages, please? This would make things more consistent. * Finally, I am utterly confused by the fps package: There is a version 0.7 on Hackage, the repo at http://www.cse.unsw.edu.au/~dons/code/fps seems to contain a 0.8 version, and we finally have a version somehow integrated into the base package, all with different APIs/#ifdefs/etc. Help!!! Which version compiles with which Haskell implementation? Which is the most current version? Will we split this from base? I know that there have been epic discussions on the libraries list, but after >20 mails I was somehow lost. If we want to keep this in base for some time, it should at least be assured that it compiles with all Haskell implementations, so we could nuke the explicit "fps" package from nhc's package list. It can be re-added later, but please in synch with the rest of the implementations. Using it currently must be a nightmare for packagers/users due to this versionitis... :-/ Cheers, S. From dons at cse.unsw.edu.au Mon Apr 2 07:23:59 2007 From: dons at cse.unsw.edu.au (Donald Bruce Stewart) Date: Mon Apr 2 07:23:33 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <200704021313.27983.sven.panne@aedion.de> References: <200704021313.27983.sven.panne@aedion.de> Message-ID: <20070402112359.GD3940@cse.unsw.EDU.AU> sven.panne: > I'm currently trying to unify the darcs-all scripts for GHC/Hugs/nhc, adding > a "--release" option on the way, which is inteded to retrieve fixed versions > from Hackage instead of the latest & greatest stuff from darcs repos. Looking > at nhc's package list, I found a few issues: > > * Iavor's package is called "monadLib", but the darcs repo on > darcs.haskell.org is called "monad". I propose to simply rename that > directory to match "monadLib". There is already an empty directory of the > same name there, so somebody else was obviously confused, too. If nobody > yells soon, I'll do this renaming. > > * Malcolm: Could you move the polyparse repository from > http://www.cs.york.ac.uk/fp/darcs/polyparse to darcs.haskell.org/packages, > please? This would make things more consistent. > > * Finally, I am utterly confused by the fps package: There is a version 0.7 > on Hackage, the repo at http://www.cse.unsw.edu.au/~dons/code/fps seems to > contain a 0.8 version, and we finally have a version somehow integrated into > the base package, all with different APIs/#ifdefs/etc. Help!!! Which version Version 0.7 is the last stable release. It should be compile with GHC 6.4.2 and earlier. The version in base corresponds to this version, with one or two safety tweaks (unfortunately). Version 0.8 is the unreleased darcs version, to be merged into base, in a week or two (after we replace the array fusion system). > compiles with which Haskell implementation? Which is the most current > version? Will we split this from base? I know that there have been epic > discussions on the libraries list, but after >20 mails I was somehow lost. If > we want to keep this in base for some time, it should at least be assured As far as I know it has not yet been decided to split it out. We'll be tagging and released fps 0.8 (only for ghc 6.4.2 and earlier), and the same code wil appear in base, in a couple of weeks, hopefully. > that it compiles with all Haskell implementations, so we could nuke the > explicit "fps" package from nhc's package list. It can be re-added later, but > please in synch with the rest of the implementations. Using it currently must > be a nightmare for packagers/users due to this versionitis... :-/ The other compilers should be using a base package with fps in it, as hugs and ghc do. fps as a package only exists as a seperate darcs repo for those systems that don't have bytestrings in base. I.e. older GHC's, and nhc98 (not Hugs or GHC 6.6). Does that help clear things up? Effectively there is *no* fps package really -- its suppposed to be part of base, as ghc and hugs have it. -- Don From sven.panne at aedion.de Mon Apr 2 07:43:24 2007 From: sven.panne at aedion.de (Sven Panne) Date: Mon Apr 2 07:42:20 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <20070402112359.GD3940@cse.unsw.EDU.AU> References: <200704021313.27983.sven.panne@aedion.de> <20070402112359.GD3940@cse.unsw.EDU.AU> Message-ID: <200704021343.24776.sven.panne@aedion.de> On Monday 02 April 2007 13:23, Donald Bruce Stewart wrote: > [...] > The other compilers should be using a base package with fps in it, as > hugs and ghc do. > > fps as a package only exists as a seperate darcs repo for those systems > that don't have bytestrings in base. I.e. older GHC's, and nhc98 (not > Hugs or GHC 6.6). > > Does that help clear things up? Effectively there is *no* fps package > really -- its suppposed to be part of base, as ghc and hugs have it. Hmmm, why does nhc98 explicitly retrieve the fps package from your repo then? It retrieves the same base package as GHC and Hugs, which should contain fps already. Malcolm? Cheers, S. From dons at cse.unsw.edu.au Mon Apr 2 07:51:00 2007 From: dons at cse.unsw.edu.au (Donald Bruce Stewart) Date: Mon Apr 2 07:50:34 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <200704021343.24776.sven.panne@aedion.de> References: <200704021313.27983.sven.panne@aedion.de> <20070402112359.GD3940@cse.unsw.EDU.AU> <200704021343.24776.sven.panne@aedion.de> Message-ID: <20070402115100.GE3940@cse.unsw.EDU.AU> sven.panne: > On Monday 02 April 2007 13:23, Donald Bruce Stewart wrote: > > [...] > > The other compilers should be using a base package with fps in it, as > > hugs and ghc do. > > > > fps as a package only exists as a seperate darcs repo for those systems > > that don't have bytestrings in base. I.e. older GHC's, and nhc98 (not > > Hugs or GHC 6.6). > > > > Does that help clear things up? Effectively there is *no* fps package > > really -- its suppposed to be part of base, as ghc and hugs have it. > > Hmmm, why does nhc98 explicitly retrieve the fps package from your repo then? > It retrieves the same base package as GHC and Hugs, which should contain fps > already. Malcolm? Ah yes, I remember now. nhc does use a base containing ByteString *but* it needed a couple of tweaks to compile. Those nhc patches are in the darcs repo, but not in the standard base yet. They will be on the next merge. So nhc should no longer need a seperate fps once we merge in those nhc patches to base, with the other fps 0.8 changes. -- Don From sven.panne at aedion.de Mon Apr 2 08:06:35 2007 From: sven.panne at aedion.de (Sven Panne) Date: Mon Apr 2 08:05:38 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <20070402115100.GE3940@cse.unsw.EDU.AU> References: <200704021313.27983.sven.panne@aedion.de> <200704021343.24776.sven.panne@aedion.de> <20070402115100.GE3940@cse.unsw.EDU.AU> Message-ID: <200704021406.35867.sven.panne@aedion.de> On Monday 02 April 2007 13:51, Donald Bruce Stewart wrote: > [...] > nhc does use a base containing ByteString *but* it needed a couple of > tweaks to compile. Those nhc patches are in the darcs repo, but not in > the standard base yet. > > They will be on the next merge. [...] Could you merge just the nhc tweaks now or at least give me a hint what the problems were? Resolving this issue right now would eliminate the need to handle general URLs in darcs-all and make the whole situation a bit less confusing. No code is good code... Cheers, S. From dons at cse.unsw.edu.au Mon Apr 2 08:18:14 2007 From: dons at cse.unsw.edu.au (Donald Bruce Stewart) Date: Mon Apr 2 08:17:48 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <200704021406.35867.sven.panne@aedion.de> References: <200704021313.27983.sven.panne@aedion.de> <200704021343.24776.sven.panne@aedion.de> <20070402115100.GE3940@cse.unsw.EDU.AU> <200704021406.35867.sven.panne@aedion.de> Message-ID: <20070402121814.GF3940@cse.unsw.EDU.AU> sven.panne: > On Monday 02 April 2007 13:51, Donald Bruce Stewart wrote: > > [...] > > nhc does use a base containing ByteString *but* it needed a couple of > > tweaks to compile. Those nhc patches are in the darcs repo, but not in > > the standard base yet. > > > > They will be on the next merge. [...] > > Could you merge just the nhc tweaks now or at least give me a hint what the > problems were? Resolving this issue right now would eliminate the need to > handle general URLs in darcs-all and make the whole situation a bit less > confusing. No code is good code... I'm actually submersed in ICFP paper writing for the rest of the week, so I doubt I'll get a chance to do the merge before Saturday. For reference, the relevant patches in fps' darcs repo are, I think: Thu Mar 1 20:44:00 EST 2007 Don Stewart * nhc now has hGetBuf/hPutBuf Mon Dec 4 23:09:12 EST 2006 Malcolm.Wallace@cs.york.ac.uk * Fixups for building with nhc98 - inadvertently missed this file earlier. Thu Nov 16 22:34:10 EST 2006 Malcolm.Wallace@cs.york.ac.uk * workaround nhc98 import resolution bug for another module Thu Nov 16 22:26:51 EST 2006 Malcolm.Wallace@cs.york.ac.uk * Workaround for import resolution bug in nhc98. Where there are multiple renamed imports: import X as P import Y as P import Z as P and they all export or re-export the same entity e, nhc98 does not seem to be able to recognise that P.e is a unique entity, despite X.e, Y.e, and Z.e all referring to the same thing. This patch just introduces an extra module name import X as S so that S.e is resolvable. Thu Nov 16 22:24:52 EST 2006 Malcolm.Wallace@cs.york.ac.uk * portability: give alternate import modules for nhc98 -- Don From Malcolm.Wallace at cs.york.ac.uk Mon Apr 2 09:44:35 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Mon Apr 2 09:46:45 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <200704021313.27983.sven.panne@aedion.de> References: <200704021313.27983.sven.panne@aedion.de> Message-ID: <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> Sven Panne wrote: > * Malcolm: Could you move the polyparse repository from > http://www.cs.york.ac.uk/fp/darcs/polyparse to > darcs.haskell.org/packages, please? This would make things more > consistent. Done (although with some reluctance due to the general network slowness of darcs.haskell.org). In the new darcs-all, I am very keen to retain the ability to use package repos stored elsewhere (not at darcs.haskell.org). > * Finally, I am utterly confused by the fps package: > Using it currently must be a nightmare for packagers/users due to > this versionitis... :-/ Yup. To reduce this confusion, I would very much like fps to remain separate from base, and that is one reason (but not the only one) why nhc98 does not build or export the version of Data.ByteString in base. Regards, Malcolm From sven.panne at aedion.de Mon Apr 2 10:11:30 2007 From: sven.panne at aedion.de (Sven Panne) Date: Mon Apr 2 10:10:28 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> References: <200704021313.27983.sven.panne@aedion.de> <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> Message-ID: <200704021611.31071.sven.panne@aedion.de> On Monday 02 April 2007 15:44, Malcolm Wallace wrote: > Done (although with some reluctance due to the general network slowness > of darcs.haskell.org). In the new darcs-all, I am very keen to retain > the ability to use package repos stored elsewhere (not at > darcs.haskell.org). Thanks, that was quick. We can add general URL handling later, but initially I don't want to open too many cans of worms at once. :-) > > * Finally, I am utterly confused by the fps package: > > Using it currently must be a nightmare for packagers/users due to > > this versionitis... :-/ > > Yup. To reduce this confusion, I would very much like fps to remain > separate from base, and that is one reason (but not the only one) why > nhc98 does not build or export the version of Data.ByteString in base. :-/ That's the exact opposite of Don's intention, if I interpret today's mails correctly. So I'd like to propose that for the time being, we keep the "internal" version, fix it so it works with all implementations and leave the rest of the fps Jihad to future generations, where everything is a separate package, world hunger is solved, and all taxes are abolished... :-} Cheers, S. From dons at cse.unsw.edu.au Mon Apr 2 20:30:25 2007 From: dons at cse.unsw.edu.au (Donald Bruce Stewart) Date: Mon Apr 2 20:29:21 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> References: <200704021313.27983.sven.panne@aedion.de> <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> Message-ID: <20070403003025.GD14487@cse.unsw.EDU.AU> Malcolm.Wallace: > Sven Panne wrote: > > > * Malcolm: Could you move the polyparse repository from > > http://www.cs.york.ac.uk/fp/darcs/polyparse to > > darcs.haskell.org/packages, please? This would make things more > > consistent. > > Done (although with some reluctance due to the general network slowness > of darcs.haskell.org). In the new darcs-all, I am very keen to retain > the ability to use package repos stored elsewhere (not at darcs.haskell.org). > > > * Finally, I am utterly confused by the fps package: > > Using it currently must be a nightmare for packagers/users due to > > this versionitis... :-/ > > Yup. To reduce this confusion, I would very much like fps to remain > separate from base, and that is one reason (but not the only one) why > nhc98 does not build or export the version of Data.ByteString in base. I too am happy to split it out -- as long as nothing in base is using PackedString or bytestring. But until it is split, and while Hugs and GHC both have it in base, hmm, nhc is playing odd man out ;-) -- Don From dons at cse.unsw.edu.au Mon Apr 2 20:31:28 2007 From: dons at cse.unsw.edu.au (Donald Bruce Stewart) Date: Mon Apr 2 20:30:58 2007 Subject: [cvs-nhc98] Re: Package versioning confusion In-Reply-To: <200704021611.31071.sven.panne@aedion.de> References: <200704021313.27983.sven.panne@aedion.de> <20070402144435.49ba7b70.Malcolm.Wallace@cs.york.ac.uk> <200704021611.31071.sven.panne@aedion.de> Message-ID: <20070403003128.GE14487@cse.unsw.EDU.AU> sven.panne: > On Monday 02 April 2007 15:44, Malcolm Wallace wrote: > > Done (although with some reluctance due to the general network slowness > > of darcs.haskell.org). In the new darcs-all, I am very keen to retain > > the ability to use package repos stored elsewhere (not at > > darcs.haskell.org). > > Thanks, that was quick. We can add general URL handling later, but initially I > don't want to open too many cans of worms at once. :-) > > > > * Finally, I am utterly confused by the fps package: > > > Using it currently must be a nightmare for packagers/users due to > > > this versionitis... :-/ > > > > Yup. To reduce this confusion, I would very much like fps to remain > > separate from base, and that is one reason (but not the only one) why > > nhc98 does not build or export the version of Data.ByteString in base. > > :-/ That's the exact opposite of Don's intention, if I interpret today's mails > correctly. So I'd like to propose that for the time being, we keep > the "internal" version, fix it so it works with all implementations and leave > the rest of the fps Jihad to future generations, where everything is a > separate package, world hunger is solved, and all taxes are abolished... :-} Yes, it will be a shiny new world order! And hackage will rule us all. -- Don From Malcolm.Wallace at cs.york.ac.uk Tue Apr 3 07:00:27 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Tue Apr 3 06:59:20 2007 Subject: [cvs-nhc98] patch applied (nhc98): package name change: monads -> monadLib Message-ID: <20070403110027.GA20214@cvs.haskell.org> Tue Apr 3 03:59:13 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * package name change: monads -> monadLib M ./src/libraries/default-packages -1 +1 From Malcolm.Wallace at cs.york.ac.uk Tue Apr 3 09:44:57 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Tue Apr 3 09:43:52 2007 Subject: [cvs-nhc98] patch applied (nhc98): New utility: cabal-parse Message-ID: <20070403134457.GA25021@cvs.haskell.org> Tue Apr 3 06:37:46 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * New utility: cabal-parse This simple command-line utility is intended to enable the easy retrieval of information from a .cabal file, e.g. for use in Makefiles or shell-scripts. Usage: cabal-parse [-slash] fieldname filename Where a field of the .cabal file contains a list, cabal-parse ensures (for instance) that interspersed commas are removed for simpler onward processing. The optional -slash flag converts dots in module names to slashes, to help find source files. ./script/cabal-parse.hs -> ./src/libraries/cabal-parse.hs M ./Makefile -2 +8 M ./configure -2 +8 A ./script/cabal-parse.hs M ./src/libraries/cabal-parse.hs +126 From Malcolm.Wallace at cs.york.ac.uk Tue Apr 3 09:44:59 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Tue Apr 3 09:43:53 2007 Subject: [cvs-nhc98] patch applied (nhc98): minor fix for building packages at the top-level Message-ID: <20070403134459.GA25043@cvs.haskell.org> Tue Apr 3 06:43:34 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * minor fix for building packages at the top-level M ./Makefile -2 +1 From Malcolm.Wallace at cs.york.ac.uk Tue Apr 3 12:19:08 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Tue Apr 3 12:18:01 2007 Subject: [cvs-nhc98] patch applied (nhc98): need Unsafe hierarchy in base package Message-ID: <20070403161908.GA29110@cvs.haskell.org> Tue Apr 3 09:18:07 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * need Unsafe hierarchy in base package M ./script/pkgdirlist +1 From Malcolm.Wallace at cs.york.ac.uk Thu Apr 12 15:52:26 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Thu Apr 12 15:50:48 2007 Subject: [cvs-nhc98] patch applied (nhc98): need directory System.Posix for base package Message-ID: <20070412195226.GA16040@cvs.haskell.org> Thu Apr 12 12:50:54 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * need directory System.Posix for base package M ./script/pkgdirlist -1 +1 From Malcolm.Wallace at cs.york.ac.uk Fri Apr 13 11:34:58 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Apr 13 11:33:19 2007 Subject: [cvs-nhc98] patch applied (nhc98/src/libraries/base): Use hsc2hs to expand System.Posix.Types, rather than autoconf. Message-ID: <20070413153458.GA13104@cvs.haskell.org> Thu Apr 12 12:31:09 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * Use hsc2hs to expand System.Posix.Types, rather than autoconf. This enables it to build for nhc98. Some consequent changes in CTypes.h were required, to use the newly standardised Unsafe.Coerce. R ./System/Posix/Types.hs A ./System/Posix/Types.hsc M ./include/CTypes.h -6 +11 From Malcolm.Wallace at cs.york.ac.uk Fri Apr 13 11:34:59 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Apr 13 11:33:20 2007 Subject: [cvs-nhc98] patch applied (nhc98/src/libraries/base): tweaks to find standard posix/C types Message-ID: <20070413153459.GA13124@cvs.haskell.org> Fri Apr 13 06:53:04 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * tweaks to find standard posix/C types M ./System/Posix/Types.hsc -1 +6 From Malcolm.Wallace at cs.york.ac.uk Wed Apr 18 19:04:36 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Wed Apr 18 19:02:40 2007 Subject: [cvs-nhc98] patch applied (nhc98): generate output separated by newlines, rather than spaces Message-ID: <20070418230436.GA15754@cvs.haskell.org> Tue Apr 3 09:23:10 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * generate output separated by newlines, rather than spaces M ./src/libraries/cabal-parse.hs -11 +11 From Malcolm.Wallace at cs.york.ac.uk Wed Apr 18 19:04:37 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Wed Apr 18 19:02:41 2007 Subject: [cvs-nhc98] patch applied (nhc98): Revise the time at which symlinks are removed, when building srcDist. Message-ID: <20070418230437.GA15769@cvs.haskell.org> Wed Apr 18 16:00:57 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * Revise the time at which symlinks are removed, when building srcDist. Building C bootstrapping files using hsc2hs means HsFFI.h needs to be available. M ./Makefile -1 +2 From Malcolm.Wallace at cs.york.ac.uk Wed Apr 18 19:04:39 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Wed Apr 18 19:02:43 2007 Subject: [cvs-nhc98] patch applied (nhc98): In hmake, use the changed options API for cpphs. Message-ID: <20070418230439.GA15783@cvs.haskell.org> Wed Apr 18 16:02:33 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * In hmake, use the changed options API for cpphs. M ./src/hmake/Imports.hs -2 +5 From Malcolm.Wallace at cs.york.ac.uk Fri Apr 20 12:10:42 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Apr 20 12:08:39 2007 Subject: [cvs-nhc98] patch applied (nhc98): ensure that HsFFI.h is available when building .hc files Message-ID: <20070420161042.GA6977@cvs.haskell.org> Fri Apr 20 09:09:33 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * ensure that HsFFI.h is available when building .hc files M ./Makefile -1 +1 From Malcolm.Wallace at cs.york.ac.uk Fri Apr 20 12:14:46 2007 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Apr 20 12:12:42 2007 Subject: [cvs-nhc98] patch applied (nhc98): hmake invokes the compiler too many times if given multiple targets Message-ID: <20070420161446.GA7135@cvs.haskell.org> Fri Apr 20 09:11:08 PDT 2007 Malcolm.Wallace@cs.york.ac.uk * hmake invokes the compiler too many times if given multiple targets This is a nuisance in the libraries, because some files low in the dependency tree get re-compiled far too often. The workaround for now is to re-invoke hmake on each target separately, rather than invoke it once with multiple targets. M ./src/libraries/Makefile.common -3 +4