The Rust Programming Language
Rust's closures are anonymous functions you can save in a variable or pass as arguments to other functions. You can create the closure in one place and then call the closure to evaluate it in a different context. Unlike functions, closures can capture values from the scope in which they're defined.
https://doc.rust-lang.org/book/ch13-01-closures.html