I suspect it's just a tool, and the Datomic folks thought they'd make it available. No one said it was going to change the world, right?
What does it buy "us"? Well, it doesn't buy "us" anything. They needed a data interchange format and I assume it made more sense to use Clojure's primitives than parsing up JSON. Why would a project written using a homoiconic language use anything but that language to exchange data between its components?
edit: Said best by this tweet by fogus:
"Clojure devs have been using #Clojure data as an interchange format all along. ..."
> They needed a data interchange format and I assume it made more sense to use Clojure's primitives than parsing up JSON.
Even in JavaScript it's better to parse JSON instead of eval'ing, because you don't want to execute stuff that would "happen" to be contained in the data interchange format.
The word REPL comes from lisp and means Read Eval Print Loop. The significance is that unlike in, say, python, Read and Eval are separate. Read reads a string and turns it into an in-memory data structure, Eval takes a data structure (not a string!) and evaluates it.
Using Read in a lisp is typically safe, so long as you turn off reader macros and the like.
What does it buy "us"? Well, it doesn't buy "us" anything. They needed a data interchange format and I assume it made more sense to use Clojure's primitives than parsing up JSON. Why would a project written using a homoiconic language use anything but that language to exchange data between its components?
edit: Said best by this tweet by fogus:
"Clojure devs have been using #Clojure data as an interchange format all along. ..."
https://twitter.com/fogus/status/243913831242399744