package extras

/**
 *  Currying the equality predicate bEq we can define
 *    isMember in terms of the built-in any iterator method.
 */

import fp.*

	// alias
def bNe = Functor.bNe

def disjoint = { list1, list2 ->
    return list1.every {item1 -> return list2.every {item2 -> return bNe(item1, item2)} }
}

def ex1 = [11, 12, 13, 14]
def ex2 = [15, 16]
def ex3 = [14, 15]
           
println "disjoint: ${disjoint(ex1, ex2)}"
println "disjoint: ${disjoint(ex1, ex3)}"
