anonymous function function literal function value lambda expression closure 5 // anonymous number, number literal val x = 5; // give the number a name 0xabc // anonymous number, number literal (in hex) val y = 0xabc; // give the number a name fn x => x*x + 4 // anonymous function, functionn literal val g = fn x => x^*x + 4; // give the anonymous function a name, give the function literal a name fun g x = x*x + 4; // ML function definition fn x y => x*y + 4 // ML fun x y -> x*y + 4 // Ocaml, F# \x y -> x*y + 4 // Haskell lambda x, y: x*y + 4 // Python function(x, y){return x*y + 4;} // JavaScript (x, y) => x*y + 4 // JavaScript [](int x, y)->{return x*y + 4;} // C++ (x, y) -> x*y + 4 // Java (lambda (x y) (+ (* x y) 4)) // Lisp, Scheme