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.