00:07:28 <dalaing> stepcut: w.r.t. hyperdrive - have you looked at webmachine at all? I think webcrank have been trying to do a Haskell port, might be a chance to join forces there
17:12:19 <stepcut> dalaing: I still haven't been able to figure out what the heck webmachine actually does, and whether it would affect any of the low-level stuff that hyperdrive provides anyway
17:13:03 <stepcut> This sounds like the sort of fake marketing text people would put on a joke site to me: "Webmachine is an application layer that adds server-side HTTP semantic awareness on top of the excellent bit-pushing and HTTP syntax-management provided by mochiweb, and provides a simple and clean way to connect that to your application's behavior."
22:02:46 <dalaing> stepcut: the site for webmachine is attrocious
22:03:01 <dalaing> I only learned about it from a talk at a conference
22:03:25 <dalaing> at it's core it's the HTTP 1.1 state machine turned into code
22:04:28 <dalaing> at every point of customization - ie find the content length of a resource - you can provide a function to handle that, although most (maybe all) of them have a default
22:04:57 <dalaing> it's not well typed, so there are some obvious wins there
22:06:13 <dalaing> because of the path through the state machine and the way the HTTP 1.1 spec is written, you end up not having GET or POST handlers - the spec covers enough of what the verbs mean that you can just provide the relevant (resource focused) functions and you're good
22:06:36 <dalaing> someone is using it for factory automation - each resource is a valve
22:07:15 <dalaing> they've also got a diagram of the state machine, which is actually also the debugger - you can trace requests through, and see what values each function was working with
22:07:45 <dalaing> most of the examples I saw of that would have been solved by types :)
22:09:17 <dalaing> it was kind of nice to see the progression of: 500 error in debug mode, graphical trace of the request through the state machine (with the releveant data / local state when you click on a decision point), reasoning about how it should have gone, fix
22:09:55 <dalaing> the goal seems to be fast and correct
22:11:05 <dalaing> The webcrank docs seems more helpful than the webmachine docs - https://github.com/webcrank/webcrank
22:11:20 <dalaing> although I've lost track of their progress
22:12:04 <dalaing> keeping the function names from the webmachine diagram looks like an... interesting... choice
22:12:52 <dalaing> anyhow, I was thinking of webcrank.hs has stalled or slowed I might be able to wave some of the interested folks towards hyperdrive