Tail-Recursive Intersection in Java
public static Cons
intersecttr (Cons x, Cons y) {
return intersecttrb(x, y, null); }
public static Cons intersecttrb
(Cons x, Cons y, Cons result) {
if ( x == null )
return result;
else return intersecttrb(rest(x), y,
( member(first(x), y) != null )
? cons(first(x), result)
: result); }