The two examples he gives could be done easily in any programming language that supports higher order functions (ie. functions which take a function as an input argument). To a lesser extent he requires lambdas in the with-memcached example, but it isn't 100% necessary (could have just written the some-heavy-code part in a named function).
None of this is very novel or unique to clojure. Clojure (and other lisps) do have some nice syntax sugar to make writing this type of code easily, which is nice.
Comments
The two examples he gives could be done easily in any programming language that supports higher order functions (ie. functions which take a function as an input argument). To a lesser extent he requires lambdas in the with-memcached example, but it isn't 100% necessary (could have just written the some-heavy-code part in a named function).
None of this is very novel or unique to clojure. Clojure (and other lisps) do have some nice syntax sugar to make writing this type of code easily, which is nice.