>>21
Algol 68 almost had expressions like
(+)(1,) using "operator base" and "partial application" but there was never a Revised Revised Report so these were just proposed extensions. Algol 68 was an expression-oriented garbage-collected multi-threaded language. Any type can be anonymous including functions, structures, unions, references, and arrays. Some of the other things it almost had were case on ranges and subtypes, modals (type variables/generics), deuniting (implicitly extracting values from unions), record transfer (persistent mass storage), inductive types (e.g.
mode list = (mode x)union(void, struct(x car, list(x) cdr))), a composable module system (like ML structures and functors), restartable exceptions, lazy parameters, and collecting loop expressions (like array comprehensions). The Revised Revised Report would have been decades ahead of many languages today.