You can go one step further and make use of automatic function currying (such as in haskell) and just write:
adder(x,y) -> x + y
If you call adder with one argument, you get the same behaviour as your makeAdder (returned closure), but if you call it with 2 args you get addition.