@@ -0,0 +1,455 @@
+package com.technozor.javaz;%0A%0Aimport java.util.function.Function;%0A%0A/**%0A * Created by slim on 4/15/14.%0A */%0A@FunctionalInterface%0Apublic interface TriFunction%3CQ, T, U, R%3E %7B%0A%0A    R apply(Q q, T t, U u);%0A%0A    default %3CV%3E TriFunction%3CQ, T, U, V%3E andApply(Function%3C? super R, ? extends V%3E after) %7B%0A        return (q, t, u) -%3E after.apply(apply(q, t, u));%0A    %7D%0A%0A    default Function3%3CQ, T, U, R%3E currying() %7B%0A        return q -%3E t -%3E u -%3E apply(q,t,u);%0A    %7D%0A%0A%7D%0A

add TriFunction