Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Merge branch 'release/1.10.1'


* "Call to unbound-fn" Error solved. To use functions within Cascalog…
… queries, hadoop needed to call "require" on the containing namespace. If you define functions at the repl, the namespace file might not exist, and this call will fail; previously, Cascalog would squash these exceptions.

This fix explicitly checks namespace existence, letting all others errors pass through. Anyone seeing an "unbound fn" exception will now see some far more enlightening exception about what's wrong with the namespace.

* Anything that implements IFn can now be used as an op, provided it's bound to a var. For example, `(def is-bob? #{"bob"})` is now a valid predicate.

* Vars can now be serialized as op parameters or constants. For example,

;; Vars as parameter args
(defmapop var-apply [v]
   [& xs]
   (apply v xs))

(fact?<- [[1 2 3]]
         [?x ?y ?z]
         ([[1 2]] ?x ?y)
         (var-apply [#'+] ?x ?y :> ?z))

;; Vars as constants
(def coll-src
    [[[3 2 4 1]]
     [[1 2 3 4 5]]])

(fact?<- [[10] [15]]
         (coll-src ?coll)
         (reduce #'+ ?coll :> ?sum))

* Added explicit Kryo serialization for `java.util.regex.Pattern`.
* Kryo serialization now captures objects without default constructors.
* MemorySourceTap (and data structures) now use Hadoop's serialization mechanisms, vs defaulting to Kryo.
Something went wrong with that request. Please try again.