Implement SKI combinator calculus
Wolfram Language, 63 bytes

#//.{{I,x_}-&gt;x,{{K,x_},y_}-&gt;x,{{{S,x_},y_},z_}-&gt;{{x,z},{y,z}}}&amp;


Try it online!

God, I love pattern matching in Wolfram Language. Represents (xy) as {x,y} (a list of two elements).

Alternatively, if we represent (xy) with x&gt;y, we can do it in 55 bytes.

#//.{I&gt;x_-&gt;x,(K&gt;x_)&gt;y_-&gt;x,((S&gt;x_)&gt;y_)&gt;z_-&gt;(x&gt;z)&gt;(y&gt;z)}&amp;


Try it online!