--- Log opened Thu Feb 05 00:00:00 2009
00:03 < h_buildbot> Build for ghc-6.8.3 OK. Test suite build failed. Check http://buildbot.happstack.com/ for details.
00:05 < h_buildbot> Build for ghc-6.10.1 OK. Test suite build failed. Check http://buildbot.happstack.com/ for details.
00:16 < mae_> the easiest workaround for the windows-not-building issue is to simply not support ipv6
00:16 < mae_> is this reasonable?
00:17 < mae_> the network package barely supports it anyways (which is kind of the problem)
00:17 < mae_> definitely does not support it for windows
00:17 < stepcut> no idea
00:18 < mae_> hrm
00:18  * stepcut goes to bed
00:23 < mae_> stepcut: so can you start working on the hsp stuff like we had talked about before?
00:23 < mae_> or what did you have in mind
00:24 < stepcut> mae_: the dynamic loading stuff?
00:27 < h_buildbot> Build for ghc-6.8.3 OK. Test suite build failed. Check http://buildbot.happstack.com/ for details.
00:30 < h_buildbot> Build for ghc-6.10.1 OK. Test suite build failed. Check http://buildbot.happstack.com/ for details.
00:30 < stepcut> failed!
00:30 < stepcut> :(
00:32 < stepcut> looks like the tests now import a module with is not in darcs and is also not list in the .cabal file :-/
01:58 < mae_> huh?
01:59 < mae_> but wait
01:59 < mae_> the build was successful according ot this
01:59 < mae_> hmm
02:00 < mae_> ok fixed it
02:00 < mae_> forgot to add file :)
02:02 < mae_> h_buildbot: status
02:02 < h_buildbot> Idle.
02:03 < mae_> h_buildbot: build
02:03 < h_buildbot> Build for all started. If one was running, no new one is started.
02:03 < mae_> h_buildbot: status
02:03 < h_buildbot> Building ghc-6.8.3_STABLE
02:03 < mae_> hmm
02:05 < vegai> hey, an idea
02:05 < vegai> would it be possible to add a metapackage "happstack" to hackage that would pull install all the others?
02:10 < mae_> vegai: its a goal for 0.2
02:19 < h_buildbot> Build for ghc-6.8.3_STABLE OK. Test suite ran. 16/73 test cases failed. Check http://buildbot.happstack.com/ for details.
02:29 < mae_> stepcut: i'm starting to thing tests should be off by default
02:29 < mae_> because it will make it harder for some people to build as some tests have more deps
02:29 < mae_> (ie windows)
02:32 < h_buildbot> Build for ghc-6.10.1_STABLE OK. Test suite ran. 18/73 test cases failed. Check http://buildbot.happstack.com/ for details.
02:45 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 16/75 test cases failed. Check http://buildbot.happstack.com/ for details.
02:57 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 16/75 test cases failed. Check http://buildbot.happstack.com/ for details.
03:06 < mae_> h_buildbot: status
03:06 < h_buildbot> Building ghc-6.8.3
03:11 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 15/75 test cases failed. Check http://buildbot.happstack.com/ for details.
03:17 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 17/75 test cases failed. Check http://buildbot.happstack.com/ for details.
03:54 < mae_> finished relabeling modules
03:57 < mae_> be back tommorrow
04:01 < h_buildbot> Build for ghc-6.8.3 OK. Test suite ran. 15/75 test cases failed. Check http://buildbot.happstack.com/ for details.
04:02 < mae_> woot
04:02 < mae_> first try without breaking anything
04:02 < mae_> not bad
04:02  * mae_ knocks on wood
04:08 < h_buildbot> Build for ghc-6.10.1 OK. Test suite ran. 16/75 test cases failed. Check http://buildbot.happstack.com/ for details.
04:18 < koeien> mae_: ordering the buildbot to build everything takes long
04:18 < koeien> mae_: you can also say 'build ghc-6.8.3' and later 'build ghc-6.10.1'
04:22 < koeien> mae_: or you can just wait for <5 minutes :)
04:27 < paulvisschers> koeien: Why aren't you on msn?
04:31  * vegai looks around in confusion
08:19 < jrx> hi, anyone knows how to initialize happs to be able to use query and update?
08:48 < koeien> jrx: yes, i used to know
08:48 < koeien> let me look it up
08:50 < koeien> jrx: startSystemState should do the trick
09:03 < jrx> koeien: thanks a lot, I'll try
09:16 < jrx> koeien: yep, it works
09:26 < koeien> ok
09:58 < stepcut> ugh
09:59 < stepcut> I keep typing, import HAppstack
09:59 < stepcut> :(
10:02 < Saizan> at least i can have both happs and happstack installed without confusing ghci
10:02 < stepcut> Saizan: yes, that is nice
10:03 < stepcut> was quite annoying until I got 100% migrated
10:04 < stepcut> I notice mae didn't use, darcs replace HAppS Happstack, :-/
10:05 < Saizan> he didn't use darcs move?
10:05 < Saizan> ah, there's also replace
10:05 < Saizan> didn't know of that
10:05 < stepcut> :)
10:07 < Saizan> we can rollback mae's patch and use it now
10:07 < Saizan> the history is quite ugly already :)
10:08 < stepcut> well, when the name changes back to HAppS we can use it ;)
10:10 < stepcut> has any here used hyena? It outputs the page, but doesn't seem to close the connection causing the browser to 'hang'
10:13 < Saizan> oh, funny, happs had a similar bug due to lazy IO
10:13 < stepcut> :)
10:14 < stepcut> I sent email to tibbe, but I might look at it later if I have time
10:32 < mae_> i used darcs move
10:33 < stepcut> mae_: but you didn't use darcs replace
10:34 < mae_> : \
10:35 < mae_> well that is a pretty big patch
10:35 < mae_> so err
10:35 < mae_> your gonna roll back the whole thing?
10:36 < stepcut> too late now
10:36 < mae_> what does replace do?
10:36 < stepcut> replaces HAppS with Happstack in the source
10:36 < mae_> it says token but..
10:36 < mae_> oh
10:36 < mae_> i didn't know there was such a thing
10:36 < mae_> i just used sed
10:37 < mae_> why is the history "ugly" ?
10:38 < mae_> man, i was so proud of that patch too
10:38 < stepcut> haha
10:38 < mae_> i used sed, carefully combed through 300 changes with record
10:38 < mae_> tweaked the booboos
10:38 < mae_> used darcs move
10:38 < stepcut> well, I am not really clear on the semantics of replace
10:39 < mae_> i don't think it does anything special
10:39 < mae_> probably the same thing as sed
10:39 < mae_> i changed alot of code so
10:39 < mae_> the patch is bound to be ugly
10:39 < stepcut> I think the advantage is that if someone submits a patch where they added, import HAppS.Blah, it would automatically change it to Happstack.Blah
10:39 < mae_> cosmetic patches are ugly, i agree, because they fog up the mirror as to what is actually getting done that is "real"
10:40 < mae_> stepcut: i think it already does that if their patch depended on a patch prior to this new relabeled one
10:40 < stepcut> not if they added a new import?
10:40 < Saizan> darcs replace merges better i think
10:41 < stepcut> the history is prettier ith replace:
10:41 < stepcut> move ./src/HAppS ./src/Happstack
10:41 < stepcut> replace ./happstack-extra.cabal [A-Za-z_0-9] HAppS Happstack
10:41 < stepcut> replace ./src/HSP/Google/Analytics.hs [A-Za-z_0-9] HAppS Happstack
10:41 < mae_> right but i don't want all the tokens changed
10:41 < mae_> because there are some copyright notices too
10:42 < mae_> so if i make changes to the basic replace it probably ends up looking like a diff again
10:42 < stepcut> you can do it on per-file basis...
10:43 < mae_> stepcut: hehe ok well i guess we can agree to disagree here but I think the history is perfectly clear, albeit verbose.
10:43 < stepcut> :)
10:43 < mae_> stepcut: good to know though because i didn't even know replace existed
10:43 < stepcut> I have never actually used replace myself
10:43 < stepcut> though I am going to when I update my code today
10:44 < mae_> kk
10:44 < mae_> sorry if i messed up any patches
10:44 < stepcut> no
10:44 < mae_> i tried to be as straightforward as possible by doing it in one patch
10:44 < stepcut> I was mostly joking
10:44 < mae_> oh ok heh
10:46  * Saizan really likes hackage-server's code
10:46 < Saizan> we could use it as a demo, almost
10:46 < stepcut> heh
10:48 < stepcut> mae_: whether you used 'darcs replace' or 'sed' is only slightly more relevant than whether you used 'sed' or edited every reference by hand in notepad. Then end result is the same ;)
10:50 < mae_> stepcut: aww shucks, your the best.
10:50 < mae_> stepcut: so you like hyena?
10:50 < mae_> the code is very clean and nice
10:50 < stepcut> mae_: I would like it more if it worked...
10:50 < mae_> hehe
10:51 < mae_> ok well i guess we can put that on the backburner for now
10:51 < mae_> its too immature
10:51 < stepcut> mae_: I was going to spend a few hours and see if I can do a quick happs+hyena tutorial
10:51 < mae_> but yeah i mean i that turns out to be good then we get a free left-fold http implementation
10:51 < stepcut> just to see if there is any intergration issues or not
10:51 < mae_> wasn't that your idea?
10:51 < stepcut> yes
10:52 < stepcut> when I used happs-state with my agi library, I didn't have to write *any* glue code. I am hoping that same is true of hyena. Or at least a minimal amount of glue code, and nothing that requires changes to hyena itself
10:53 < stepcut> in some respects, the between happstacks does it's job, the more it ceases to exist
10:53 < stepcut> if we get ixset split off, use hyena, etc...
10:53 < Saizan> for happs-state there's no problem i think, you need glue if you want the .SimpleHTTP interface
10:53 < mae_> yeah that would be ideal
10:53 < mae_> i was thinking the same thing
10:53 < stepcut> I don't actually like the SimpleHTTP interface anyway :)
10:53 < mae_> if hyena turns out to be good
10:53 < mae_> (yet to be seen)
10:54 < mae_> then happstack (meta package) could use hyena, ixset, data, state etc
10:54 < mae_> one more module we could nuke
10:54 < mae_> less total code
10:54 < mae_> ok really gotta run
10:54 < mae_> continue this later :)
10:55 < Saizan> stepcut: ok, but you do need something in front of the soup of headers hyena gives you :)
10:55 < stepcut> yes
10:56 < stepcut> I have been working on something, though I have a long way to go, http://src.seereason.com/~jeremy/SimpleSite1.html
10:56 < Saizan> what do you dislike about .SimpleHTTP in particular?
10:56 < stepcut> it's all String based, so you can easily mis-type urls and you don't get a compiler warning
10:57 < Saizan> it's less String-base if you write FromReqURI instances though
10:57 < Saizan> *based
10:57 < stepcut> it does not provide an easy way to build composable modules (like photo galleries, etc), because the modules need to know where they live in the site structure
10:58 < Saizan> for absolute urls in the responses?
10:59 < stepcut> among other things
11:02 < Saizan> ok, i guess i've not written enough code to see those :)
11:40 < Saizan> any additional thoughts on how build-reports should be organised/presented in a future happs' hackage-server?
11:41 < Saizan> and also how to deal with snapshosts
11:42 < Saizan> the easy way is to consider them as a distinct version, but maybe it's more useful to group them under the main version they refer to?
22:13 < stepcut> ok! hyena is *not* broken!
22:13 < stepcut> it just assumes you are very familiar with HTTP :)
22:13 < stepcut> which is, perhaps, a different kind of broken
22:41 < Saizan> more explicitly? :)
22:44 < stepcut> in HTTP connections are 'keep-alive' by default
22:44 < stepcut> since I did not do anything to explicitly close the connection, it was kept alive
22:44 < stepcut> there are three ways the connection could be closed:
22:45 < stepcut> 1. the server sets the 'Content-Length' header, and the client will close the connection after getting the right number of bytes (or, at least it can chose to)
22:46 < stepcut> 2. the server sets the 'Connection: close' header in the response and the closes the connection after sending the body
22:46 < stepcut> 3. the client sets the 'Connection: close' header in the Request, and the server closes the connection after sending the body.
22:46 < stepcut> these all work in hyena, but I did none of them, so the connection stayed alive
22:47 < Saizan> i see
22:48 < stepcut> I added the 'Connection: close' header in the Response, and now things are good
22:51 < Saizan> i guess it can't even set Content-Length by default without consuming all the enumerator
22:53 < stepcut> depends
22:53 < stepcut> for a file you could stat the file first
22:54 < stepcut> but he is working on HTTP chunked file support so that you don't have to do that either
22:54 < stepcut> http://www.httpwatch.com/httpgallery/chunked/
22:54 < Saizan> ah, right, i've implemented that for happs
22:55 < stepcut> :)
22:56 < stepcut> to some degree I am hoping that we keep support for the current happs-server and also add hyena
22:58 < Saizan> that depends on if we can abstract them under the same interface, so that we can implement the higher level part of the protocol on top of both
23:01 < Saizan> (btw, i'm here instead of in my bed since i've been thinking that enumerators are only a special case of session types)
23:05 < stepcut> yeah, I don't know much about session types aside from the special monad-like thing they use
23:06 < stepcut> the indexed monad
23:07 < stepcut> sounds interesting though
23:08 < stepcut> maybe once I understand enumerators from using hyena I'll look at session types
23:18 < stepcut> http://www.hacketeria.com/
23:18 < stepcut> :)
23:19 < Saizan> :D
23:19 < stepcut> hyena + happstack-state
23:21 < stepcut> pretty fast considering that incoming HTTP connection is being tunnelled via SSH from my VPS to my laptop over wifi, and I am using runhaskell to run the app ;)
23:23 < stepcut> didn't require any changes to hyena or happstack-state yet
23:23 < Saizan> well -state just requires you to run some IO, no?
23:24 < stepcut> yes
23:24 < stepcut> that is why -state is great
23:24 < stepcut> I wasn't expecting trouble
23:25 < stepcut> actually, i did have to make one changed, I added RankNTypes to the LANGUAGE pragma in Hyena.Server
23:27 < stepcut> I'll try a real app this weekend perhaps
23:29 < Saizan> yeah, during 0.8 you were forced inside the Ev monad instead, iirc
23:30 < stepcut> yeah
23:31 < stepcut> I remember something about Ev
--- Log closed Fri Feb 06 00:00:03 2009