Programmer blogging about Clojure, Node.js concurrency, CouchDB write performance and logic programming.
Commenters discuss its Clojure versus Node.js comparisons; some find Clojure more appealing, while others say the benchmark compares threaded and evented servers unfairly.
Many thanks for the info. I'll have to delve into cKanren more - I kind of glossed over it.
For anyone else interested, it looks like Claire Alvis is leading development of cKanren. Here's a background paper and a link to the source on github:
http://scheme2011.ucombinator.org/papers/Alvis2011.pdf
https://github.com/calvis/cKanren
And here's a short example and discussion of use of cKanren by (I think) one of the core.logic creators:
http://dosync.posterous.com/another-taste-of-ckanren
http://groups.google.com/group/clojure/browse_thread/thread/f6336b6e348ed220
Also, the Friedman group maintains some other source here:
https://github.com/iucs/relational-research
which includes...wait for it...babyMiniKanren (babymk)!
javacl, http://code.google.com/p/javacl/
idiomatic Clojure wrapper from the developer of Aleph - https://github.com/ztellman/calx
I have to say, running Clojure on instances like these for a couple hours at a time to get a sense of what Clojure offers in terms of concurrency and parallelism on a 8-core machine with gobs of RAM is great fun - http://dosync.posterous.com/clojure-multi-core-amazon-cluster-compute-lat.
It's the kind of computing excitement I imagine Lisp Machine users had.
I think I agree. Perhaps if it was titled "Thread versus Evented single core servers" it would make much more sense. Having said that, there are ways to scale out to fill the cores for event based, and in some cases (ie nothing needs to be shared, would suit event based as IO bound) works just fine. There was an interesting article which I to me looked like it was uncovering that: http://dosync.posterous.com/clojure-nodejs-and-why-messaging-can-be-lame
Completely agree.
And I know Javascript way better than Clojure.
But building an app with Clojure feels like I'm writing high quality code.
Writing Node feels hacky and I get an uneasy feeling with it for some reason. I've never liked nodes callback-driven async approach to development.
This post summarizes my feelings towards Node better than I can: http://dosync.posterous.com/22397098
This is a follow up to the original post here http://dosync.posterous.com/22516635
This whole thing is making Clojure seem more interesting to me. I'd be curious to see how close Node.js can come to extracting this much write performance from CouchDB.