00:52:10 <mafs> Sure, it's at http://mschade.me/html-conditional-comments-with-blaze-html
00:52:12 <mafs> agh
20:56:09 <msnlaww> hi, i'm a new haskell user and i have a somewhat general networking question
20:56:27 <jaspervdj> don't ask to ask :-)
20:56:48 <jaspervdj> just ask
20:56:55 <msnlaww> This is a pretty popular page http://haskell.org/haskellwiki/Simple_Servers that compares epoll to select
20:57:09 <msnlaww> and points out that "soon" haskell's forkIO will use epoll instead of select as its IO manager
20:57:36 <msnlaww> but the haskell docs online seem to suggest that forkIO is still managed by select
20:57:48 <msnlaww> any idea whats going on with this stuff?
20:58:11 <jaspervdj> I don't know about epoll but the event manager in GHC 7 is pretty damn fast
20:58:30 <msnlaww> if you look at the link, it shows that if you use epoll instead of the default
20:58:37 <msnlaww> you can juice out 5k more requests per second
20:58:53 <jaspervdj> yes, but that's GHC 6, a lot has changed since then
20:59:05 <msnlaww> oh interesting
20:59:10 <jaspervdj> for something more recent, http://www.yesodweb.com/blog/warp-speed-ahead
20:59:12 <msnlaww> so you would recommend just using forkIO?
20:59:23 <jaspervdj> Yes
20:59:38 <msnlaww> is that requests per second?
20:59:38 <jaspervdj> actually, I wouldn't recommend writing your own HTTP server at all ;-)
21:00:07 <jaspervdj> msnlaww: I'd assume so
21:00:08 <msnlaww> if this is easier to understand than snap i might not
21:00:17 <msnlaww> and if so, holy shit that is fast
21:01:14 <jaspervdj> msnlaww: Anyway, all haskell servers should be fast enough for most use cases
21:02:56 <msnlaww> is warp part of happstack?
21:04:00 <jaspervdj> warp is a wai backend, and happstack can run on wai
21:04:20 <jaspervdj> meaning, if you write your app using happstack, you can run it on warp
21:04:32 <jaspervdj> anyway, you really can't go wrong with either snap or happstack
21:04:40 <jaspervdj> it's mostly a matter of preference
21:04:58 <msnlaww> oh cool
21:05:09 <msnlaww> thanks a lot
21:05:12 <jaspervdj> np
22:09:08 <mnslaww> does happstack rely on a WAI backend?
22:09:24 <mnslaww> i'm unsuccessfully trying to wrap my head around the concept of enumerators/iteratees
22:11:46 <mafs> As I understand it, it does not yet use WAI as its backend, but it will be moved to that in a version or two.
22:11:54 <mafs> Can you weigh in, stepcut / stepkut?
22:12:29 <mnslaww> regardless, is there any easy-to-understand tutorial on iteratees and enumerators?
22:12:53 <mnslaww> i want to try writing something directly on top of warp
22:13:01 <mnslaww> but the documentation surrounding it is extremely sparse
22:15:50 <mafs> I would suggest the iteratees / enumators question for #haskell -- you'll get more response there.
22:16:06 <mafs> Looking for some info on it specific to wai, I just read it the other night
22:16:07 <stepcut> happstack 6 does not use WAI / Warp yet, but we plan to transitation to it
22:18:05 <mafs> ah, the docs which I'm thinking of are outdated. sorry.
22:24:20 <mafs> @tell jaspervdj Any thought on joining class_ attributes by space, or too complex for not enough payoff? E.g., btnA = a ! class_ "button"; btnAFull == btnA ! class_ "full-width"; btnAFull == '<a class="button full-width">..' instead of the current '<a class="button" class="full-width">..'
22:24:21 <lambdabot> Consider it noted.