18:55:40 <realitygrill> hello
18:56:31 <realitygrill> is happs a good way to learn haskell? (i've sort of hit the point where i theoretically kind of understand monads and prob just need to write lots of stuff)
19:30:36 <stepcut> realitygrill: it can be. The tutorial is not really targetted to absolute beginners. Generally it would be better to start with learn you a haskell and then move onto the happstack crash course
19:31:08 <stepcut> though.. I think an introductory text based around happstack is a good idea.. just haven't had time to write it :)
19:31:45 <realitygrill> it's nice that there's happstack-lite
19:31:53 <realitygrill> will give it a shot
19:31:55 <stepcut> yeah
19:32:20 <realitygrill> i've sort of been going through books and learning haskell, so.. well.. hm. might still be an absolute beginner
19:38:03 <donri> i basically learned haskell and happstack at the same time ^_^
19:38:39 <donri> i specifically went with happstack because i felt it exposed you to more haskell than yesod and snap
19:38:57 <stepkut> yeah
19:39:24 <Igloo> Does anyone know of a nice way to generate HTTP requests for form submissions that include files?
19:42:31 <stepkut> Igloo: not offhand
19:47:04 <stepkut> Lemmih: apply my acid-state patches, pretty please!
20:04:52 <realitygrill> donri: oh interesting
20:24:32 <donri> the great thing about yesod development is that it pushes the really smart people to come up with the theoretically sound answers ^_^
20:25:01 <donri> would we have pipes without conduit? and now we might get first-class modules and such because classy prelude ;)
20:25:04 <mightybyte> rotfl
20:51:34 <Lemmih> stepkut: Oh yeah, forgot about it.
20:51:39 <Lemmih> stepkut: I'll do it tomorrow.
20:52:44 <Igloo> Hmm, with this request: http://paste.debian.net/179538/ hackage ends up with the base64-encoded file, rather than the raw file. Is that a happs bug, a hackage bug, or am I just using HTTP wrong?
21:10:51 <stepkut> Lemmih: sweet!
21:15:05 <stepkut> Igloo: I don't think there is support for automatically decoding base64 in happstack yet
21:15:13 <stepkut> could be added though
21:17:33 <Igloo> OK, ta. I might take a look at adding it, then
21:23:54 <stepkut> sweet
21:27:14 <stepkut> in Happstack.Server.Internal.Multipart, in defaultInputIter or defaultFileSaver is probably where the missing code needs to go
21:27:49 <Igloo> OK, ta
21:49:03 <donri> stepkut: turns out you clean up your unixsocket manually in clckwrks, so you had that experience as well.
21:49:33 <donri> but when i try clckwrks-cli, i don't have the issue with it hanging after it's done
21:52:51 <stepcut> donri: so.. I don't need to patch anything?
21:53:08 <donri> oh, no idea yet :)
21:54:44 <donri> i'm still wondering if that shouldn't be in acid-state itself, the socket cleanup
21:55:27 <stepcut> could be
21:55:35 <stepcut> the remote stuff in general needs some reworking I think
21:56:07 <stepcut> would be nice if you could pass in an already open socket so that you could do things like SSL and authentication and then just pass a simple socket to acid-state
21:56:21 <stepcut> though, for SSL you need a little more than a socket
22:05:39 <donri> stepcut: found the problem
22:05:49 <donri> closeAcidState hangs on remote handles
22:06:30 <stepcut> ah
22:14:13 <donri> which is weird because it's just a writeIORef and hClose, if I'm following the code correctly
22:14:32 <stepkut> hmm
22:14:39 <stepkut> IO sucks :)
22:15:22 <donri> :)
22:19:55 <donri> and i originally added the closeAcidState in the hopes that it would clean up the UnixSocket to fix the first/other problem :D
22:32:33 <donri> stepkut: http://code.google.com/p/happstack/issues/detail?id=226
22:52:43 <stepkut> cool
22:53:44 <donri> sort of wish acid-state would export some useless toy instances for IsAcidic so testing in ghci would be easier
22:53:51 <donri> like, Int
22:54:42 <donri> (if you find yourself using Int for a state without a newtype, well... :P)
22:55:33 <donri> i guess it could export its own useless type for this purpose instead
23:05:45 <stepkut> interesting idea