> > It seems to me that a "truly" RESTful system design is very much in line > of what Rich was talking about. > > This is completely correct. Let's take the common method "GET" for instance. According to REST philosophy, GETs should be 100% cache-able (and therefore they are actual values). We can "disable" the HTTP caches simply by giving different parameters to the get query:
>> GET /person/123?latest=true&rnd={insert random guid here} {:name "John" :gender "Male" :id 123 :timestamp 1002313} >> PUT /person/123 >> {:name "James" :gender "Male" :id 233} /person/123/1002314 >> GET /person/123/1002314 {:name "James" :gender "Male" :id 123 :timestamp 1002314} >> GET /person/123/1002313 {:name "John" :gender "Male" :id 123 :timestamp 1002313} >> GET /person/123?latest=true&rnd={insert random guid here} {:name "James" :gender "Male" :id 123 :timestamp 1002314} The above perfectly follows what Rich discussed. No information is ever lost. We have time explicitly defined in the timestamp, and we can always get the latest version of a value by passing in a random guid to invalidate the HTTP caches. If you read up a bit more on REST you'll find that it deals allot with the avoidance of mutable state, which is exactly what Rich was suggesting. Timothy -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en