EDIT: In the comment section Alex Miller advised against using inline functions for now as they are subject to change in the future version of Clojure.
Clojure's inline functions is one of the rarely discovered features. Unlike any other concept that you can introduce via macros they are important enough to be treated specially by the compiler. But still many Clojure users have never heard about inlines let alone used them.
In this post I investigate what is an inline function, how is it different from macros and when either should be used.