--- Log opened Wed Mar 04 00:00:29 2009
00:49 < mae> hello yalls
10:40 < mae> FYI, I will probably get the tarballs out midday today, and then follow with the official blog post website updates etc later tonight
10:41 < wchogg> mae : Cool.
11:14 < koeien> mae: nice !
14:30 < Saizan> how is the release going?:)
14:32  * stepcut is not breaking anything by not doing anything
14:32 < Saizan> http://code.google.com/p/happstack/issues/detail?id=72 <- i'm afraid that this problem is blocking a lot of potential users
14:32 < Saizan> are there some blocking issues?
14:32 < koeien> that was the windows problem ?
14:33 < Saizan> yeah, also solaris
14:33 < Saizan> "any platform where network is not build with ipv6 support"
14:33 < Saizan> *built
14:36 < Saizan> http://code.google.com/p/happstack/issues/detail?id=7&q=milestone:0.2 <- this looks like the only bug for 0.2 that needs serious work
14:36 < Saizan> but, how do we turn e.g. the chat application in a formal test?
14:42 < stepcut> the multimaster tests will be interesting, since they require spread running, and possibly more than one machine
14:43 < stepcut> one thing we can do is take all the non-multimaster state tests and run them with multimaster enabled.
14:43 < wchogg> Why would you need more than one machine?
14:43 < stepcut> I am more cocerned about the tests that often, but not always, fails in happstack-state than multimaster right now though
14:44 < stepcut> wchogg: because otherwise you might not catch some bug that only happens when two spread servers are involved, and/or there is network latency
14:44 < stepcut> wchogg: I guess that could all be simulated on a single machine though
14:44 < wchogg> stepcut : Ah, fair enough.  I thought you meant something more specific.
14:46 < Saizan> btw, happstack-tutorial contains a guide for multimaster now?
14:46 < stepcut> I guess if you want to be really serious then you also want to test larger clusters than 2. So, some way of simulating a cluster on a single machine would be more practical
14:46 < koeien> stepcut: different machines are probably a better test (timing issues...)
14:47 < stepcut> koeien: yes -- though using iptables you could simulate a lot of different situations like latency
14:47 < wchogg> Saizan : It contains a short chapter describing how to set up spread & get simple multimaster apps running on a linux box, along with some examples.  I'll gladly take contributions on setting up spread on other OS'es.
14:47 < stepcut> at the cost of the tests being OS specific
14:47 < koeien> stepcut: i'm not an iptables wizard
14:56 < chessguy_work>  so i haven't heard any policies/suggestions/best practices/anything from the "bug czar". am i missing something?
14:57 < Saizan> mae: do we want to support older versions of Cabal?
15:00 < chessguy_work> @users
15:08 < stepcut> Saizan: it would be nice if happstack was easy to install on stock debian/ubuntu systems... not sure if supporting older cabal makes a difference there
15:09 < koeien> stepcut: debian doesn't ship cabal-install
15:09 < koeien> so you have manual dependency chasing anyway
15:10 < Saizan> stepcut: yeah, i've noticed that we have dist/build/autogen in the hs-source-dirs in happstack-server.cabal to workaround an old cabal bug, but it won't get accepted by hackagedb
15:10 < Saizan> koeien: Cabal the library
15:10 < koeien> Saizan: yeah i know, but what is the point? people are going to need to install a large amount of libraries anyway
15:10 < Saizan> stepcut: the bug only affects haddock generation
15:10 < koeien> it's less work to install cabal-install
15:10 < wchogg> Does anyone have any examples where they use something other than End as the Dependencies type-list for an app?  I haven't found any.
15:12 < stepcut> wchogg: I have a patch for guestbook that does
15:13 < stepcut> wchogg: why?
15:13 < stepcut> wchogg: in my real applications I typically have a lot of components. Mailing lists, sessions, user accounts, etc
15:14 < wchogg> stepcut : I'd just wanted to look at some real examples to make sure I understood it before I try to explain it to others.
15:15 < wchogg> stepcut : It wasn't very clear to me when you needed to define sub components.
15:17 < stepcut> wchogg: in my applictions, the top-level state is usually empty, like, data State = State, and all the real work is done by subcomponents
15:17 < stepcut> wchogg: If something would be useful as a library that was used by other apps, then I make it a separate component
15:18 < stepcut> wchogg: or pretty much anywhere there are distinct things where you don't need atomic commits
15:19 < Saizan> stepcut: did you ever had the need for cross-component transactions?
15:20 < stepcut> Saizan: not yet. Though, perhaps that is because I try to design things not to need that, since it is expensive and won't scale well?
15:20 < Saizan> heh, probably
15:21 < Saizan> but it looks like something that can harm modularization
15:23 < wchogg> stepcut : The idea of letting the top level state be empty never occurred to me, but I like it.  I'll have to come up with some small, cute, examples of doing that for the tutorial.
15:24 < stepcut> wchogg: my rule of programming is that everything should be a library. If you write an application, it should be a library with a little wrapper that calls the library.
15:26 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
15:26 < stepcut> wchogg: so, for example, darcs should have been libdarcs from the start with a simple darcs-cli for the UI. That would make it much easier to integrate darcs support into IDEs, write something like darcsweb, or create a GUI
15:28 < stepcut> wchogg: in my happstack applications, I tend write them as if I am making a new library by glueing together a bunch of existing libraries. Though, in reality, the 'existing' libraries may not exist until I write them
15:29 < wchogg> stepcut : I can see your point.
15:29 < stepcut> wchogg: Haskell is one of the few languages that really seems to deliver on the reusability promise :)
15:32 < wchogg> stepcut : Out of curiosity, but what are the features you think are critical to that?
15:33 < stepcut> wchogg: I'm not quite sure :)
15:33 < stepcut> wchogg: It's been so long since I wrote any serious non-haskell code that I forgot why it sucks :)
15:34 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 15/77 test cases failed. Check http://buildbot.happstack.com/ for details.
15:36 < wchogg> stepcut : Haskell is the first language I really became fluent in, which is why I was curious.  I know Common Lisp & a few others, but don't have quite the same level of familiarity.
15:36 < stepcut> wchogg: I think immutable state helps a lot. For example, in some OO language, does, str1.concat(str2), return a new string or does it modify str1?
15:37 < stepcut> something about Haskell is just more 'compositional' than other languages...
15:40 < stepcut> maybe there is some level of uniformity which makes things fit together better... you just have functions and values. And you pass values to functions and get new values back...
15:42 < stepcut> since everything is just functions from values to values it just integrates nicely. And because you don't have lots of hidden state or mutation, you don't have to worry about what is happening inside the functions much... You don't have to try to initialize everything in the right order, or worry about race conditions...
15:44 < stepcut> and, if you want to write more functions, for say, the List type, you can just write more functions -- you don't have to extend List class or anything.  (Unfortunately, extended the List data type is not so easy, but I think adding new functions is perhaps more useful?)
15:53 < koeien> extending in OO is too often abused to gain access to the internals of the structure
15:58 < stepcut> in Haskell it is usually ok to gain access to the internals of the structure :)
15:59 < koeien> i've never tried to hack into Data.Map's details, i try to avoid it :)
15:59 < stepcut> koeien: yep. There are some exceptions.
16:00 < stepcut> in agda, you can gain access to the internals after you have submitted a proof that you aren't going to do anything bad :)
16:01 < koeien> i've never had the pleasure to use agda
16:01 < koeien> from what i've heard it's a pain to write any program in (that is maybe becuase it's hard to write correct programs in any language)
16:02 < wchogg> I've only flipped through one of the agda 2 tutorials.  It looked neat, but I really want Epigram 2.
16:03 < stepcut> wchogg: yeah, epigram 2 would be nice
16:03 < koeien> the Wadler language?
16:41 < mae_work> Has anyone built the dev branch on windows
16:41 < mae_work> since Andreas latest patch?
16:43 < stepcut> not i.
16:44 < mae_work> ok
16:44 < mae_work> trying it now
16:44 < mae_work> before i tag it
16:44 < mae_work> damn last minute patches :)
16:44 < mae_work> hehe
16:45 < mae_work> I need to upgrade my pc, I want some raw compiling horsepower
16:45 < mae_work> maybe like a dual opteron
16:45 < mae_work> yeah
16:45 < mae_work> 16gb memory
16:45 < mae_work> ghc GC eat your heart out baby
16:46 < stepcut> mae_work: dual? How about an 8-core mac pro?
16:46 < mae_work> that sounds expensive
16:46 < mae_work> i can build a dual opteron with 16gb for probably around 1k
16:47 < mae_work> because i have some parts i can reuse
16:48 < stepcut> mae_work: yeah, around $2800 I think with 2GB of RAM
16:49 < wchogg> I'm still using my 4 year old P-M laptop as my dev machine. :p
16:49 < Saizan> mae_work: my patch shouldn't change anything, however we need to either ask dcoutts to relax hackagedb checks or remove dist/build/autogen from server's hs-build-dirs
16:50 < mae_work> Saizan: as I understand it, the checks won't stop us from uploading it
16:50 < Saizan> mae_work: some do
16:51 < mae_work> hm
16:51 < Saizan> it was hs-source-dirs btw
16:52 < mae_work> we can't remove that
16:52 < Saizan> well
16:52 < mae_work> otherwise it breaks the code thingy
16:52 < Saizan> it only breaks "cabal haddock" on older versions of Cabal
16:53 < Saizan> mmh, also the library build in even older ones
16:58 < Saizan> ok, yeah, we need it for Cabal-1.2.4.0 that comes with 6.8.3
16:58 < mae_work> you missed a file :)
16:58 < mae_work> ixset
16:58 < mae_work> but i covered it
16:58 < mae_work> pushing up the version bump patch
16:59 < mae_work> can you make sure this builds on your machine?
16:59 < mae_work> the packages are all 0.2.1 now
16:59 < Saizan> ah, right
16:59 < mae_work> and 0.2.1 instead of 0.2 in >=
16:59 < mae_work> (so people don't target accidental prereleases
17:00 < mae_work> just pushed
17:02 < Saizan> building
17:04 < Saizan> 6.10.1 and 6.8.3 with cabal-install worked
17:04 < Saizan> we should also check 6.8.3 with Cabal-1.2.4.0 then
17:05 < mae_work> allright
17:06 < koeien> h_buildbot: status
17:06 < h_buildbot> Building ghc-6.8.3
17:06 < koeien> buildbot has 1.6.0.1 iirc
17:07 < Saizan> happstack has the same problem with Paths_happstack.hs and hs-source-dirs :\
17:07 < mae_work> well
17:07 < mae_work> i am going to try to upload it
17:07 < mae_work> it might not enforce that
17:08 < Saizan> yeah
17:08 < mae_work> but yeah, gonna wait till those builds of yours finishes :)
17:08 < Saizan> you need to add it though
17:09 < mae_work> add what?
17:09 < mae_work> oh
17:09 < mae_work> you mean add it to src dirs
17:10 < Saizan> pushed
17:11 < Saizan> everything builds now
17:11 < mae_work> so nothing else needs data files right?
17:12 < mae_work> yeah...
17:12 < Saizan> only the happstack package, i think
17:13 < mae_work> right o
17:15  * Saizan loves --cabal-lib-version
17:15 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
17:15 < mae_work> trying one last time on windows
17:15 < mae_work> to be double sure
17:15  * mae_work doesn't want windows breakage this time
17:23 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 15/77 test cases failed. Check http://buildbot.happstack.com/ for details.
17:30 < mae_work> lol
17:30 < mae_work> um wth
17:30 < mae_work> all of a sudden
17:30 < mae_work> hackage is hosed
17:31 < mae_work> only had -server and kitchen-sink left
17:32 < mae_work> oh duh
17:32 < mae_work> it says the hs-source-dirs thing
17:32 < stepcut> heh
17:32 < mae_work> ok i'll skip past the check
17:33 < mae_work> arg
17:33 < mae_work> still blocks me
17:33 < mae_work> Saizan: can't upload -server
17:33 < mae_work> because of that
17:33 < Saizan> heh
17:34 < Saizan> i told you :P
17:36 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
17:37 < mae_work> so -server and kitchensink are in limbo
17:37 < mae_work> I uploaded contrib
17:37 < mae_work> hehe
17:37 < mae_work> gonna push up these tags
17:38 < mae_work> can we trick it?
17:38 < mae_work> like use a variable
17:38 < mae_work> or something
17:38 < mae_work> hm
17:39 < mae_work> 'hs-source-dirs: dist/build/autogen' points inside the 'dist' directory. This
17:39 < Saizan> we could do something horrible in the Setup.hs file, but i'd rather ask hackagedb's maintainers to remove the check or drop support for older cabals
17:40 < mae_work> which version needs that to work
17:41 < Saizan> 1.2.4.0 (the one that comes with 6.8.3) surely
17:41 < mae_work> hm
17:41 < Saizan> but 6.8.3 users can upgrade it
17:41 < mae_work> yeah, i mean
17:41 < mae_work> they should change it to a warning
17:42 < Saizan> stepcut: i presume you can't have a newer Cabal installed with an older ghc via debian?
17:42 < Saizan> stepcut: i.e. keep 2 versions of Cabal installed
17:43 < stepcut> Saizan: no, I have debs of the new cabal and the newer ghc
17:43 < mae_work> dcoutts: any way you can make this a soft check instead of a hard check?
17:43 < mae_work> http://hpaste.org/fastcgi/hpaste.fcgi/save
17:43 < stepcut> well, ghc 6.10.1
17:44 < mae_work> sorry here it is
17:44 < mae_work> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2104#a2104
17:45 < Saizan> stepcut: i mean e.g. keeping both 1.6.0.1 and 1.2.4.0 for ghc-6.8.3
17:46 < Saizan> mae_work: better to send a mail to cabal-devel@haskell.org
17:49 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
17:52 < mae_work> Saizan: done
17:57 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 15/77 test cases failed. Check http://buildbot.happstack.com/ for details.
18:07 < mae_work> ohhh dcoutts
18:07 < Saizan> mae_work: how much of a problem do you think is to force 6.8.3 users to upgrade the Cabal library? they probably will use cabal-install anyway
18:08 < mae_work> Saizan: not too big of a deal, how much would the lower bound need to be changed to not need this?
18:09 < Saizan> mae_work: well, the latest cabal-install requires Cabal-1.6.0.2 anyway, however i'll check
18:10 < mae_work> assuming you upgrade the right libs, 6.8.3 works fine with that version right?
18:11 < Saizan> yes
18:12 < mae_work> Saizan: this means we would need another version bump :\
18:12 < mae_work> hehe
18:12 < Saizan> why?
18:12 < mae_work> or can the dep stay the same
18:12 < mae_work> for the other ones
18:13 < Saizan> why can't we remove the paths from hs-source-dirs and upload as 0.2.1 ?
18:13 < mae_work> Saizan: we can, I was just wondering whether we would also need to bump the lower bounds on the ones I already uploaded
18:14 < Saizan> oh, the lower bounds on Cabal version?
18:15 < mae_work> yes
18:15 < mae_work> or those can stay I guess
18:15 < mae_work> (people could use them individually i suppose with an older version)
18:16 < Saizan> those can stay
18:17 < mae_work> kk
18:18 < Saizan> ok, cabal-version: >= 1.4 is enough for building
18:18 < Saizan> no, wait
18:19 < Saizan> yes, it is
18:20 < Saizan> should i push this edit then?
18:20 < mae_work> yes please
18:20 < mae_work> i will once again do a full clean / build on all packages for windows
18:20 < mae_work> before tagging / uploading
18:21 < mae_work> stepcut: on a separate note, could we borrow some ideas from http://holumbus.fh-wedel.de/redmine/projects/holumbus (or code?)
18:21 < mae_work> This includes a framework for distributed crawling and indexing as well as distributed query processing. Additionally, a full-fledged distributed Map-Reduce framework is included.
18:22 < stepcut> mae_work: no idea
18:24 < Saizan> mae_work: pushed
18:27 < mae_work> Saizan: ok
18:30 < mae_work> pushed tags / uploaded to hackage / builds on windows
18:31 < Saizan> yay
18:33 < mae_work> ok, now for website updates / blog posts later
18:33 < mae_work> should be nice now if you have cabal install
18:33 < mae_work> 'cabal install happstack'
18:34 < Saizan> works :)
18:35 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 16/77 test cases failed. Check http://buildbot.happstack.com/ for details.
18:37 < mae_work> Saizan: how do you test all this stuff? Are you creating a bunch of test prefixes?
18:42 < dcoutts> mae_work: I'm around for just a moment, if you're quick
18:43 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
18:46 < mae_work> dcoutts: we ended up raising the requirement for cabal to 1.4
18:47 < dcoutts> mae: there's pretty much no point to doing that, few people have 1.4
18:47 < dcoutts> either 1.2 or 1.6 are the sensible choices
18:47 < dcoutts> because they come with ghc-6.8 and 6.10 resp.
18:48 < dcoutts> mae_work: you can be sure everyone who I persuaded to upgrade to 1.4 has since upgraded to 1.6
18:52 < mae_work> dcoutts: ok :)
18:52 < mae_work> dcoutts: thanks !
18:55 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 14/77 test cases failed. Check http://buildbot.happstack.com/ for details.
20:04 < stepcut> we should figure out if the happstack serialization code is cross-platform compatible. For example, if I upgrade from 32-bits to 64-bits. Or PowerPC to x86. And whether multimaster can worked on a mixed cluster of 32-bit and 64-bit machines
21:23 < mae> stepcut: yep
22:05 < mae> awe yeah
22:06 < Saizan> we might go crazy and support an hoogle instance too
22:09 < mae> eh?
22:09 < mae> how can we get Happstack on hoogle, hayoo
22:09 < mae> would like this.
22:10 < mae> afk.
22:37 < Saizan> to get it on www.haskell.org/hoogle we've to generate the index files and send them to neil and make him accept them, or something like that
22:37 < Saizan> though we could run our own hoogle
23:59 < mae> : )
23:59 < rovar> >
--- Log closed Thu Mar 05 00:00:29 2009