An OCaml-based network services platform
Chris Waterson · 2007
At Liveops, we've developed a robust network services platform that combines the scalability of event-based I/O with the simplicity of thread-based programming. We've done this using functional programming techniques; namely, by using continuation-passing monads to encapsulate computation state and hide the complexity of the non-blocking I/O layer from the application programmer. Application code is written in a "naive threading" style using primitives that simulate blocking I/O operations.