Smalltalk has a concept of blocks, which is a lightweight syntax for anonymous functions.
However, they have this marvellous property: you can return from the enclosing method! This makes them far more useful for things like iterating with early termination.
miniblog.
Related Posts
Is there a proper term for "anonymous definitions"?
This is a style of programming where you avoid repeating the declaration name, so later renaming is trivial.
E.g. Rust's self type, or loop-recur in Clojure.
A lightweight anonymous function syntax seems to reduce the need for metaprogramming.
I've written custom loop constructs with lisp macros, but Smalltalk seems to do just fine with blocks and method calls.
There seems to be a trend towards value-oriented programming languages. Even established statement-oriented languages are moving: Hack added ==> for values with anonymous functions, JS has fat arrows and now do syntax too.