defn-

added
1.0

ns
clojure.core

type
macro

(defn- name & decls)

same as defn, yielding non-public def

                
user=> (ns test)
nil

test=> (defn- foo []
         "World!")
#'test/foo

test=> (defn bar []
       (str "Hello " (foo)))
#'test/bar

test=> (foo)
"World!"
test=> (bar)
"Hello World!"
test=> (ns playground)
nil
playground=> (test/bar)
"Hello World!"

;; Error will be thrown
;; var: #'test/foo is not public
playground=> (test/foo)