In Clojure 1.4 what is the use of refer within require?

clojure

Solution

Main idea of adding `:refer` to `:require` is to get rid completely of `:use`, leaving only one operator to load other packages. You can emulate existing `:use` with `(:require [my.lib :refer :all])`...

Problem

What advantage does using `:refer` in `:require` have over using `:only` in `:use`? Are the following synonymous? ``` (ns so.example (:use [my.lib :only [function]])) ``` and ``` (ns so.example (:require [my.lib :refer [function]])) ```

Original source