01:07:38 <Entroacceptor> stepkut: bug for the crash course, I think
01:07:50 <Entroacceptor> 4.4 and 4.5 should be swapped :)
01:08:24 <Entroacceptor> because under Limiting lookup... you change code you haven't introduced before
01:08:53 <stepkut> oh, I should just fix 4.4 to not use RqData
01:09:04 <stepkut> screencasting under linux sucks
01:12:10 <stepkut> there were originally in a different order, but I think that talking about limiting filters before RqData makes sense..
01:12:58 <Entroacceptor> yeah
01:15:22 <stepkut> how is the crash course overall?
01:17:26 <Entroacceptor> well, it helped me crash :)
01:17:39 <stepkut> :-/
01:18:05 <Entroacceptor> no, seriously, it's good
01:18:15 <Entroacceptor> as far as I can tell
01:18:24 <Entroacceptor> but I have to go back and lookup stuff all the time
01:19:16 <stepkut> yeah. Hopefully it is easy to go back and look stuff up.. that was one of the goals. Try to keep the sections fairly independent.
01:19:18 <Entroacceptor> why don't you have something like FromReqURI for general RequestData?
01:19:40 <stepkut> what do you mean ?
01:22:03 <Entroacceptor> for URIs you can make the data know how to translate itself into Haskell types
01:22:20 <Entroacceptor> but you use checkRQ for other stuff
01:22:34 <Entroacceptor> but I guess I'm not making sense
01:23:07 <stepkut> for RqData there is the FromData class..
01:23:09 <Entroacceptor> and now that I spoke it out, it's stupid anyway
01:23:56 <stepkut> but FromData requires that you also hard-code the name of the value .. which limits its usefulness
01:24:39 <Entroacceptor> yes
01:25:18 <Entroacceptor> but maybe you can integrate that into form stuff somehow
01:25:19 <stepkut> you could add a, lookFromReqURI :: (FromReqURI a, HasRqData m) => String -> m a, function though
01:25:49 <stepkut> I guess the answer is, I didn't write FromReqURI and I never use it, so I didn't think to extend it to RqData :)
01:39:06 <stepkut> personally, i use web-routes for URLs, and formlets for forms
01:39:06 <stepkut> though I do use the look* stuff directly when implementing a web service API
01:39:07 <stepkut> in any case, if we added a class for decoding request data, checkRq would still be useful for writing the class instances
01:39:07 <stepkut> here is the tricky part I guess.. if you have a funtion like, lookRq :: (FromRqData a, HasRqData m) => String -> m a
01:39:08 <stepkut> that is only good if the type you are trying to decode is contained in a single key.. but if you have to look up multiple keys in order to get all the values to construct the final value, then you are stuck
01:39:08 <stepkut> FromData gets around that by requiring the instances to explicitly look up all the keys they need -- but that ruins composability. If you have two values of the same type in the request data, there is no way to specify the unique keys for them
01:39:09 <stepkut> the look + checkRq solution works around these issues by proving simple primitives which you can use to construct whatever is right for your app. It is more flexible because it does not force your conversion functions to have a specific type, and the choice of which conversion function to use is explicit rather than being type directed
01:39:43 <Entroacceptor> yep
01:48:06 <stepkut> oh, I updated the tutorial btw
09:52:12 <Entroacceptor> stepkut: and I fell asleep :)
19:19:48 <McManiaC> http://npaste.de/nH/ <- my scripting template language is making progress :)
19:21:10 <Entroacceptor> great.
19:21:19 <Entroacceptor> erm, what is it, and what does it do? :)
19:21:41 <McManiaC> you know markdown etc?
19:22:06 <Entroacceptor> yes
19:23:34 <McManiaC> http://npaste.de/nH/ <- updated it
19:23:53 <McManiaC> source does have an example how it might actually look like before the parsing
19:24:42 <McManiaC> $(test) will get replaced with a haskell function which returns the text "Test!"
19:24:44 <McManiaC> :D
19:25:03 <Entroacceptor> so you're inviting yet another template engine?
19:25:15 <Entroacceptor> except this time, you're mixing template and logic? ;)
19:25:21 <McManiaC> the point is, its not only templates
19:25:43 <McManiaC> its a (small) scripting language to manipulate your post
19:26:20 <McManiaC> so you could (when it's done :D) do something like "$(highlight all code "haskell")" and it will highlight all code-blocks with haskell-highlight
19:26:48 <Entroacceptor> 1mhm
19:26:51 <McManiaC> or just the next/previous one etc... :)
19:27:11 <McManiaC> $(let haskell = highlight next code "haskell)
19:27:14 <McManiaC> $haskell
19:27:18 <McManiaC>    this is a codeblock
19:27:19 <McManiaC> :D
19:28:25 <Entroacceptor> :)
19:29:03 <McManiaC> basicly I'm just experimentating, but I think it's very do-able
19:29:24 <Entroacceptor> I need to go and get something to eat...
19:29:36 <Entroacceptor> what kind of instant food will I get?
20:08:50 <HugoDaniel> hellow
20:09:45 <McManiaC> hi
20:12:16 <HugoDaniel> hey McManiaC, how is everything ?
20:12:33 <McManiaC> I'm having a bug in my programm and can't find it :(
20:12:47 <HugoDaniel> oh
20:12:54 <HugoDaniel> most my bugs are JS related :/
20:14:51 <McManiaC> my one is HS related
20:14:59 <McManiaC> just one letter, but a big difference
20:15:00 <McManiaC> :D
20:15:29 <HugoDaniel> :)
21:48:41 <McManiaC> http://npaste.de/nM/ -> http://npaste.de/nN/ :)
21:54:19 <McManiaC> HugoDaniel: http://github.com/mcmaniac/markf/blob/master/ex/idea.md
22:00:36 <Entroacceptor> McManiaC: I don't believe that ;)
22:00:49 <McManiaC> Entroacceptor: what
22:00:51 <Entroacceptor> you're looking for 'est', but  the output says test ;)
22:00:51 <McManiaC> ^^
22:01:04 <Entroacceptor> line 20
22:01:04 <McManiaC> Entroacceptor: oh indeed
22:01:05 <McManiaC> :D
22:01:19 <McManiaC> Entroacceptor: old version ;)
22:16:58 <Entroacceptor> btw., is there a reason the happstackcombot disconnects so often?
22:17:23 <Entroacceptor> and what does it do, anyway?
23:14:39 <stepcut> it watches the happstack.com darcs repository for changes and reports them in the channel.. it probably disconnections so often because it is not written in haskell
23:14:48 <stepcut> synthea is written in haskell and she works just fine :p
23:20:02 <McManiaC> hehe
23:20:25 <Entroacceptor> :)
23:20:26 <HugoDaniel> :)
23:20:51 <Entroacceptor> from another mailing list "the old bot was written in Haskell and therefore couldn't work at all."
23:21:30 <McManiaC> yeah, since haskell can't do IO properlay
23:21:35 <McManiaC> *properly ;P