
Daniel Patterson
I'm also excited to see examples. Even simple ones!
Alright, I have written some examples: http://haskell.org/haskellwiki/Webwire
Based on my understanding of FRP (which may have little bearing on what webwire actually does, just what I hope it does), what makes it really different is that it is relatively stateless itself - that's kind of the point, that you model your system as a bunch of data sources, and you can change them with pure functions, and when you do that they will be updated anywhere you are using them without any explicit imperative stuff. I'm not sure how that translates to a server-side applications (the only web examples I know of have been javascript-based), or webwire itself so I'm curious to see how this works.
Interestingly it's quite the opposite. Wires in netwire are inherently stateful, but offer an interface, which hides that state almost completely. Wires are essentially time-varying functions. In fact, a stateless wire is simply a function or a computation in the underlying monad. What makes FRP so great is that you observe this statefulness in terms of data dependencies. Very little imperative programming, yet high performance and an incredible expressivity. See in the examples how quickly I was able to write an application, which limits the average request rate over the last ten requests for every session individually. Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/