IRC_Meetings: ghc-meeting-2008-09-03.log

File ghc-meeting-2008-09-03.log, 19.6 KB (added by guest, 5 years ago)

8th meeting

Line 
117:00 < JaffaCake> welcome all to the #ghc meeting...
217:00 < dejones> JaffaCake: Good day.  :)
317:00 < nominolo> tjena
417:01 < JaffaCake> waern: hi, good to see you
517:01 < dejones> JaffaCake: Side note, I'm still working to integrate my code... I am having to do it manually.  :(
617:01 < dejones> Anyway, meeting...
717:01 < JaffaCake> manually == without darcs?
817:01 < dejones> Yes.
917:01 < dejones> With diffs.
1017:01  * nominolo has to fix 100+ test suite failures first
1117:02 < JaffaCake> waern: how difficult is it to get Happy to propagate documentation across package boundaries?
1217:02 < T1> So far there is no final decision on if the new back-end will be used in 6.10, right?
1317:02 < JaffaCake> no new back end in 6.10, sorry
1417:02 -!- T1 is now known as TMD
1517:02 < JaffaCake> In fact, we're pushing qutie a few things back beyond 6.10 now, due to lack of time
1617:03 < Igloo> nominolo: Oh, if I put those credentials you sent in place etc then you wouldn't have to do it manually, right?
1717:03 < nominolo> Igloo: I guess so
1817:03 < JaffaCake> So the current plan is to leave the VCS switch until after 6.10 when we have more time to plan it properly
1917:03 < Igloo> OK, I'll make a note to do that then
2017:04 < BSP_> JaffaCake: isn't that going to make it hard to backport fixes?
2117:04 < ghcbot> Build x86 Windows head fast #2670 finished: Failure (failed stage2 boottestsuite runtestsuite)
2217:04 < ghcbot> Build details are at http://darcs.haskell.org/buildbot/all/builders/x86%20Windows%20head%20fast/builds/2670
2317:04 < JaffaCake> BSP_: that's one downside, but if we do it in 3 months' time or so the rate of merges will have slowed
2417:04 < nominolo> JaffaCake: so what *will* go in then?
2517:05 < JaffaCake> http://hackage.haskell.org/trac/ghc/wiki/Status/Releases
2617:05 < lambdabot> Title: Status/Releases - GHC - Trac
2717:05 < JaffaCake> Haddock 2 is now in
2817:05 < waern> JaffaCake: hi
2917:05 < Igloo> "in 3 months time" probably means "just after 6.10.2" or something, but we can play it by ear depending on how many bugs are found etc
3017:05 < JaffaCake> I'm working on Unicode Handles, I hope that will go in (but I'm not sure at this stage)
3117:06 < JaffaCake> shared libraries will probably not be on by default in 6.10
3217:06 < JaffaCake> there's a big update to type familiies still scheduled to go in
3317:07 < JaffaCake> nominolo: will your patch be ready, do you think?
3417:07 < waern> JaffaCake: hmm, you mean to solve the problem with docs from ghc-prim that should show up in the Prelude?
3517:07 < Igloo> backend-revamp is now post-6.10, right?
3617:07 < JaffaCake> waern: yes, also the array package, and some others
3717:07 < nominolo> JaffaCake: i hope so
3817:08 < waern> JaffaCake: currently we don't store documentation in the .haddock files, but we could, and that would solve the problem quite easily I think
3917:08 < nominolo> JaffaCake: chances are > 50%
4017:08 < BSP_> might it be an idea to push back the release?
4117:08 < BSP_> since there seem to be lots of features we would like to have not quite baked yet
4217:08 < JaffaCake> waern: yes, that's what I thought - any chance of it happening before 6.10? :)
4317:08 < Igloo> BSP_: You can push releases back forever, one week at a time, though
4417:09 < waern> JaffaCake: we could let the rule be to always show the documentation in the package that "inherits" it, even though the module it comes from might not be hidden in the original package
4517:09 < Igloo> Also, ICFP is a nice time for people to try out RCs and report problems
4617:09 < thoughtpolice> JaffaCake: so type families are still scheduled to be totally working for 6.10? what about the NDP work that will go in?
4717:09 < JaffaCake> yes, I'm with Igloo here
4817:09 < waern> JaffaCake: hmm, well, there are other things I've been meaning to fix before 6.10 as well
4917:10 < JaffaCake> I'm not sure about NDP
5017:10 < JaffaCake> but TF, yes
5117:10 < JaffaCake> waern: ok, what else is high up the list?
5217:11 < JaffaCake> waern: yes, I think the behaviour should be the same regardless of whether you're re-exporting from a module in the same package or in a different package
5317:12 < thoughtpolice> JaffaCake: the status page needs to be updated with some of this new info then, it seems
5417:12 < waern> JaffaCake: but that's not what my rule says :)
5517:12 < thoughtpolice> i.e. extensible exceptions are done now too, aren't they?
5617:12 < Igloo> I've just moved them
5717:12 < quicksilver> quasiquoting?
5817:12 < BSP_> quicksilver: thats marked as done
5917:12 < JaffaCake> waern: ok, I misunderstood then - what's the difference?
6017:13 < JaffaCake> quicksilver: QQ is in, yes
6117:13 < waern> JaffaCake: oh, hmm, well now that I think about it the only difference is for "module" export items (IIRC)
6217:13 < JaffaCake> right
6317:13 < quicksilver> \o/ I look forward to playing with that.
6417:14 < waern> JaffaCake: anyway, those details can be worked out, and it doesn't matter that much
6517:14 < waern> JaffaCake: as for the priorities, I've been meaning to send some patches to GHC before 6.10 comes out that fixes a few problems
6617:15 < JaffaCake> ok, great
6717:15 < waern> JaffaCake: for example the lack of docs on type synonym definitions
6817:15 < malcolmw> there was a message recently about undoing or reverting the package split of base/getopt/concurrent/timeout/unique - is that settled?
6917:16 < JaffaCake> oh, I didn't realise we had a bug there
7017:16 < Igloo> malcolmw: It's decided, but I haven't atually done it yet
7117:16 -!- judahj [n=judah@cpe-76-170-234-70.socal.res.rr.com] has joined #ghc
7217:16 < waern> JaffaCake: it's making some packages on hackage fail, due to parse errors
7317:16 < thoughtpolice> quicksilver: it's really cool, mmorrow has been doing a bunch of stuff with it and got a quoter built on Language.C working the other day
7417:16 < waern> JaffaCake: fail when making the docs, that is
7517:17 < thoughtpolice> i'll have to learn some TH and play with it a bunch :]
7617:17 < quicksilver> thoughtpolice: really nice.
7717:17 < JaffaCake> I have some improvements to parallel performance that might make it into 6.10 too
7817:18 < waern> JaffaCake: but other than that, I can prioritize the inter-package documentation stuff higher than the rest of the Haddock bugs. So perhaps we'll get it in
7917:18 < JaffaCake> Jost Berthold has implemented work stealing for par/seq
8017:18 < dejones> :)
8117:18 < JaffaCake> waern: sounds like the type synonym issue is higher priority, if it's causing outright failures
8217:19 < waern> JaffaCake: yep
8317:19 < thoughtpolice> quicksilver: it's really great because you basically just need a parser and an instance for TH's Lift (which can be automatically done) and you're basically 95% of the way there. it's a simple process; I speculate almost all of the parsers for various things on hackage could be fitted to use QQ
8417:20 < thoughtpolice> with minimal effort, to boot.
8517:20 < nominolo> QQ is a really evil feature for HaRe
8617:20 < quicksilver> thoughtpolice: the syntax is still slightly gnarly though.
8717:20 < quicksilver> thoughtpolice: ascii is so limiting sometimes.
8817:23 < dcoutts_> so, what's next on the agenda ?
8917:23 < JaffaCake> should we ship extralibs with GHC 6.10?
9017:23 < dcoutts_> ah, ok, good one :-)
9117:23 < Igloo> No. Next?  :-)
9217:24 < JaffaCake> heh :)
9317:24 < dcoutts_> JaffaCake: so, we've got a haskell-platform package that depends on the others
9417:24 < dcoutts_> so we've got something to start testing the build infrastructure
9517:24 < nominolo> which others?
9617:24 < dcoutts_> nominolo: mostly just extra libs + cabal-install
9717:24 < dcoutts_> for the first release
9817:24 < Igloo> dcoutts_: Does that mean the build infrastructure exists? What does it do, if so?
9917:25 < nominolo> but that doesn't require ghc shipping with them, does it?
10017:25 < JaffaCake> ok, so someone will be able to get an HP by: 1. get cabal-install, 2. cabal-install hp
10117:25 < dcoutts_> JaffaCake: yes, or possibly just get the HP and make install
10217:25 < Igloo> JaffaCake: 0. get tar, zlib, http, etc
10317:25  * malcolmw notes that extra-libs no longer includes essential libraries like HOpenGL
10417:25 < dcoutts_> malcolmw: haskell-platform currently does depend on those
10517:25 < malcolmw> dcoutts_: oh cool
10617:26 < JaffaCake> right, so we talked about having a tarball of the HP that will bootstrap itself
10717:26 < dcoutts_> malcolmw: if we find they cannot be built on all platforms in time for a release then we could consider dropping some
10817:26 < dcoutts_> JaffaCake: right
10917:26 < dcoutts_> and I'm going to try and get an instance of the new hackage-server running on a public host asap
11017:27 < dcoutts_> so people can use cabal-install to provide build reports + logs
11117:27 < JaffaCake> so we should drop extralibs then?
11217:27 < dcoutts_> well, maybe, if we're sufficiently confident :-)
11317:28 < JaffaCake> it would force the issue :)
11417:28 < dcoutts_> true true
11517:28 -!- Jedai [n=jedai@dhcp2978.kent.ac.uk] has joined #ghc
11617:28 < dcoutts_> JaffaCake: we'd need help with osx and windows installers
11717:29 < claus> ghc builds extralibs in a cygwin/mingw environment (with configure&co); cabal-install tries to build packages in plain windows;is HP really ready to take over without stumbling?
11817:29  * dcoutts_ knows nothing about osx installers
11917:29  * JaffaCake either
12017:29 < dcoutts_> claus: if you use cabal-install with sh on your path then I believe it works with configure
12117:29 < JaffaCake> we're going to ship a Windows installer of the HP though
12217:30 < dcoutts_> right, so it's only builders that need mingw for opengl etc
12317:30 < judahj> dcoutts_: I think it's OK for an initial release of HP to use unix-y installation on OS X
12417:30 < claus> dcoutts: that would have to be a mingw sh; and then there's the issue of ghc's mingw vs any other mingw installs, right?
12517:30 < dcoutts_> JaffaCake: but no unix bindist of the HP I think, at least not initially
12617:31 < dcoutts_> judahj: you mean a tarball + building from source ?
12717:31 < JaffaCake> right
12817:31 < judahj> dcoutts_: right
12917:31 < dcoutts_> claus: yes, a mingw sh
13017:31 < JaffaCake> dcoutts_: if you want a home-dir install of the HP, you install the GHC bindist, then use the HP tarball
13117:31 < dcoutts_> claus: afaik, ghc's subset of mingw does not come with sh
13217:31 < dcoutts_> just gcc and the bits needed for gcc
13317:32 < dcoutts_> JaffaCake: right
13417:32 -!- conal [n=user@d5153048F.access.telenet.be] has quit [Connection timed out]
13517:33 < dcoutts_> JaffaCake: how does the windows installer for ghc + extralibs work atm?
13617:33 < dcoutts_> for registering packages
13717:33 < dcoutts_> I guess it installs them all together in one tree, so does not have any problem with registering
13817:33 < Igloo> It does make install, then tars up the installed directory
13917:33 < JaffaCake> dcoutts_: it comes pre-registered
14017:33 < Igloo> Where the path used to register starts with $topdir
14117:33 < dcoutts_> indeed never registers on the target machine
14217:33 < dcoutts_> right
14317:33 < claus> dcoutts: right, which would mean that HP users would need to install a full mingw, and then ghc would still not use that; so people have to copy things from the full mingw to ghc's mingw for ghc to find them (ffi,includes,)
14417:33 < dcoutts_> so gtk2hs has to do relocatable installs and call ghc-pk
14517:34 < JaffaCake> claus: no, not at all
14617:34 < Igloo> claus: What do you mean by "HP users"?
14717:34 < dcoutts_> claus: if they wanted to build from source, yes they'd need full mingw. But no copying things about would be necessary I think.
14817:35 < JaffaCake> not just mingw; you'd need Cygwin or MSYS
14917:35 < dcoutts_> right, msys
15017:35 < JaffaCake> but we don't expect Windows users to build from source
15117:36  * dcoutts_ fires up MSYS and runs cabal update && cabal install cabal-install && cabal install --reinstall opengl
15217:37 < Igloo> I guess the pre-registered libs means that it makes more sense to make one large installer than to bundle the GHC installer in the HP installer
15317:37 < Igloo> i.e. the HP bindist would start from the Windows tarball
15417:37 < JaffaCake> currently cabal-install will register with absolute pathnames on Windows, won't it?
15517:38 < dcoutts_> JaffaCake: yes, but it's possible to make relocatable ones I think
15617:38 < JaffaCake> so we'd have to do something special when building the HP on Windows for the installer
15717:38 < dcoutts_> if doing copy --destdir
15817:39 < dcoutts_> JaffaCake: there's definately some support for relocatable things, with some restrictions
15917:39 < dcoutts_> JaffaCake: but not for docs
16017:40 < Igloo> We just need to use GHC's installPackage to do the install step, I think
16117:40 < JaffaCake> isn't that just for binaries?
16217:40 < claus> JaffaCake: not-from source is good to hear; I've been trying to find the ticket I think part of it is http://hackage.haskell.org/trac/ghc/ticket/1502 ;
16317:40 < lambdabot> Title: #1502 (GHC should integrate better with mingw) - GHC - Trac
16417:40 < JaffaCake> Igloo: ah, good point
16517:40 < JaffaCake> that ticket has a suitable vague title
16617:41 < claus> JaffaCake: on the other hand, the build darcs on windows instructions looked a lot more frightening a few weeks ago, perhaps that copying is no longer needed, just point to the installation dir of the libs?
16717:41 < JaffaCake> I never copy anything to my GHC install on Windows
16817:42 < JaffaCake> but I do jump through some hoops to get darcs built (see my post on darcs-users)
16917:42 < dcoutts_> claus: I just tested cabal install opengl on windows using msys. Works fine.
17017:42 < JaffaCake> I don't think I understand why it is necessary to copy things to the GHC directory
17117:43 < claus> jaffacake: I probably just read too many adhoc build instructions
17217:43 < JaffaCake> regarding that ticket - if we had GHC bundle the mingw installer, we want to be sure that multiple GHC installs don't overwrite each other's mingw installs
17317:45 < JaffaCake> dcoutts_: yay
17417:45 < dcoutts_> JaffaCake: huh? ghc already bundles bits of mingw. What else do people need?
17517:45 < JaffaCake> some of the binutils, apparently
17617:45 < dcoutts_> oh, like strip?
17717:45 < claus> dcoutts: great! (assuming it works?-) perhaps for confused people like me, there should be some docs saying how easy it is to cabal install even complex packages like opengl with ffi and configure on windows these days, and ask people to revise/simplify their package build instructions
17817:46 < JaffaCake> (from the ticket) strip, nm, reimp, dlltool, pexport, windres
17917:46 < dcoutts_> JaffaCake: fair enough. I don't think that should cause any trouble. You already have gcc, ld, etc
18017:46 -!- bringert [n=bringert@dhcp-250-26.nomad.chalmers.se] has quit [Read error: 104 (Connection reset by peer)]
18117:46 < dcoutts_> of course they're not on the normal path, which is why it works
18217:47 < dcoutts_> but cabal looks for gcc in ghc's gcc-lib
18317:47 < dcoutts_> and ld
18417:47 < JaffaCake> yeah, I consider it to be part of GHC's back end, not something we expose to users
18517:47 < dcoutts_> right
18617:47 < JaffaCake> cabal is naughty :)
18717:47 < dcoutts_> JaffaCake: it has to, otherwise we cannot build .c code reliably
18817:47 < dcoutts_> or we might get incompatible results
18917:48 < JaffaCake> can't you build it with ghc?
19017:48 < dcoutts_> JaffaCake: at the moment we do use ghc to build .c code actually
19117:48 < dcoutts_> but we have to call ld directly
19217:48 < dcoutts_> and we find gcc to pass to hsc2hs
19317:48 < JaffaCake> yes, I remember that
19417:48 < JaffaCake> it's a bit unsatisfactory
19517:49 < dcoutts_> if ghc wants to ship without gcc then that's fine, we'll just look on the path for gcc etc
19617:49 < JaffaCake> perhaps we should supply ld/gcc that you can just invoke without the -B stuff
19717:49 < dcoutts_> it's not that tricky
19817:49 < JaffaCake> no, but we might want to change it in the future
19917:50 < dcoutts_> sure
20017:50 < JaffaCake> it's better not to have this dependency
20117:50 < dcoutts_> which dependency exactly?
20217:50 < JaffaCake> the dependency from Cabal on how to find & invoke gcc in a GHC installation
20317:51 < dcoutts_> JaffaCake: mm, well it's that or we have to find it in the path
20417:51 < dcoutts_> and that either means ghc has to install it to the path
20517:51 < dcoutts_> or the user needs to install mingw
20617:51 < JaffaCake> I mean if we commit to putting gcc & ld in the same place as GHC, that would be easier
20717:51 < dcoutts_> people like to be able to install ghc without changing the path apparently
20817:51 < dcoutts_> don't ask me why
20917:52 < JaffaCake> although maybe that would cause more problems
21017:52 < dcoutts_> JaffaCake: that's not much different, we still need to go look in a special place
21117:52 < Igloo> Or "ghc --where-is gcc" etc
21217:52 < dcoutts_> JaffaCake: it's just $ghcdir/gcc rather than $ghcdir/gcc-lib/gcc
21317:52 < JaffaCake> dcoutts_:  it's the magic -B stuff that I'm more worried about
21417:53 < dcoutts_> JaffaCake: oh that, it's not a problem from cabal's pov, it'd save us ~3 lines of code
21517:53 < dcoutts_> since we need to set up gcc specially anyway
21617:53 < Igloo> We may as well make gcc not need it if we can, though
21717:53 < dcoutts_> sure, if it's easy to do
21817:55 < claus> what about compatibility of mingw versions? is that no longer an issue?
21917:55 < dcoutts_> so, for the HP tarball, I think all it'd need is a suitably crafted tarball content and a portable sh script.
22017:55 < dcoutts_> we'd have it compile cabal-install, and then invoke cabal-install with a local repo to install the platform
22117:55 < dcoutts_> the local repo being in the tarball of course
22217:56 < JaffaCake> right
22317:56 < JaffaCake> sounds good
22417:56 -!- clanehin_ [n=lane@cpe-069-134-113-217.nc.res.rr.com] has quit [Remote closed the connection]
22517:56 < Igloo> dcoutts_: Why cabal-install rather than something like GHC's cabal-bin?
22617:56 < Igloo> If you build cabal-install then you need to build http etc
22717:56 -!- clanehin_ [n=lane@cpe-069-134-113-217.nc.res.rr.com] has joined #ghc
22817:57 < dcoutts_> Igloo: because we're installing those anyway, and it means it'll do the whole lot in one go in the right order without a makefile
22917:57 < dcoutts_> cabal --local-repo=blah install haskell-platform
23017:58 < JaffaCake> I think the point is that we need to build & install cabal-install's deps before we can build cabal-install
23117:58 < JaffaCake> using plain Cabal, presumably
23217:59 < JaffaCake> I better go... bye folks!
23317:59 < Igloo> See ya
23417:59 < dcoutts_> JaffaCake: no, it's easy
23518:00 < dcoutts_> ghc --make cabal-install/Main.hs -o cabal -iCabal:zlib:HTTP
23618:00 < JaffaCake> oh, that's cheating
23718:00 < dcoutts_> heh
23818:00 < dcoutts_> we'd end up building them again
23918:00 < Igloo> You'll still build them twice
24018:00 < dcoutts_> for the proper install
24118:00 < dcoutts_> Igloo: feh
24218:01 < Igloo> It's a bit bikesheddy, but I'd use cabal-bin to build up to cabal-install, and then cabal-install (for topological sort) to do the rest
24318:02 < dcoutts_> why? what does it save?
24418:02 < dcoutts_> Igloo: if one's clever one could arrange to make the first build get re-used for the Cabal bootstrap
24518:02 < dcoutts_> since Cabal builds itself twice too
24618:02 < dcoutts_> once to make setup then setup build the real thing
24718:03 < dcoutts_> so one could pre-populate the .hi and .o files needed for that while building cabal-install
24818:03 < dcoutts_> so it'd only be http and zlib that'd get built twice
24918:03 < dcoutts_> and they're relatively small
25018:03 < dcoutts_> and we'd not be building with -O the first time
25118:03 < Igloo> You don't need to build Cabal
25218:03 < dcoutts_> oh, good point
25318:04 < dcoutts_> so even less need to worry
25418:04 < dcoutts_> building the others twice is no big deal
25518:05 < Igloo> It means that any cpp flags etc that are set in the Cabal files are used. Like I said, it's bikesheddy, so I'm not going to spend much time arguing about it  :-)
25618:05 -!- tibbe [n=tibbe@72.14.229.17] has joined #ghc
25718:05 < dcoutts_> hmm, that could be important for zlib on windows actually
25818:11 -!- TMD [n=tmdubui@144.51.26.41] has left #ghc []
25918:12 -!- tengvall [i=53915df2@gateway/web/ajax/mibbit.com/x-b228be07131bdf23] has quit ["http://www.mibbit.com ajax IRC Client"]