My (short) answers: Couch absolutely takes advantage of things like supervisor trees and process spawning. Handling each client in a separate process is not something only done in erlang, but erlang makes it easier. The supervisor trees and pattern mattern matching make error handling pretty nice, ensuring that errors bubble up appropriately so proper return codes can reach the client.
In the future, I suspect we'll see even more as clustering features start to work their way into core couchdb. Anything else in particular you had in mind? On Aug 16, 2010 10:54 AM, "Miles Fidelman" <mfidel...@meetinghouse.net> wrote: Hi Folks, I wonder if someone might share some insight into why Erlang was chosen for CouchDB. Don't get me wrong, I think Erlang is a really cool language/environment; I'm a big fan of designs that spawn lots of independent processes, and communicating via messages. But... it doesn't seem like CouchDB takes advantage of all that much of Erlang's unique capabilities. Hence, I'm sort of wondering why Erlang for CouchDB, and if there are any visions of taking more advantage of Erlang down the road. Thanks, Miles Fidelman -- In theory, there is no difference between theory and practice. In<fnord> practice, there is. .... Yogi Berra