Things I like in languages, and miss in others: * First-class functions
* Lambdas (And I should be able to do the same with them as with a regular function, unlike lambdas in Python, which are restricted to one line.)
* Ability to define infix functions, like in Haskell or OCaml (although OCaml has some limits.)
* Pattern matching
* List comprehensions are nice, and could probably be implemented easily in the desugarer
* Things like Scala's `val`/`var` of the `final` keyword in Java are nice. They allow you to introduce a certain amount of purity into a language.
* Not quite a language feature, but if you're going to be generating executables, Tail Call Optimization is nice.
* The Dynamic Proxy pattern is cool. Something like java.lang.reflect.Proxy would be cool. Those are the things that I can think of right now that I often find myself missing in other languages that I can think of right now. That assignment calculus paper looks really interesting. I'll have to take a deeper look at it when I have the time to.