Error formatting macro: pagetree: java.lang.NullPointerException

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • provide the smallest possible API, in a single class, to allow people to find and call Clojure fns
    • a single thing to refer people to
    • opens up entire API
      • everything in Clojure is exposed via fns
      • if something critical is missing, let's add a fn rather than grow this API
    • no wrappers that need to be maintained
    • no semantic or other mismatch with original fns
    • docs are Clojure docs


  • We want to give people access to Var objects but not have them use the Var class
    • too much other stuff there, plus it's concrete
    • the interfaces they need are IFn and IDeref
    • but no interface unifies them, so we have no good type to use
      • make one?
  • bindings are also tricky to use from Java
    • can we function-ify them?
      • with-bindings (fn!)
      • with-repl-bindings
      • with-compilation-bindings

Stable Public Java API

Clojure does not currently provide a stable public Java API.  This makes calling Clojure code from Java more verbose and more complicated than it needs to be, and requires developers to refer to classes that are actually just details of Clojure's current implementation that can and probably will change in the future.