You already mentioned these :-) Closures are so incredibly useful I don't really want to code without them, but if I must, the language should at least support functions as a data type (i.e. C-style function pointers). Java-style object systems are a much too rigid on their own.
Closures and its flexible object system are what make JavaScript a good language. Shame about the ugly syntax, though :-)
Basically, anything that helps writing real functional code is a big plus.
Backtracking.
It's sort of a niche technique, but it's amazingly useful when applicable. See also the discussion at How implement AMB in perl?
A "freestyle" type/object system
I like perl's automatic type conversions. I like Ruby's strategy of duck-typing. I like C-style pointer casting. I even like the idea behind C++ templates. I don't like being restricted by the language.
"Real (i.e. LISP-style) Macros"
Anything that allows you to subvert the language itself is a good thing :-) Though it seems it's hard to implement unless the language syntax is extremely simple (this might not be a bad thing, I'm only just getting my feet wet with LISP, so it just looks more intimidating than it probably is :-) )
In reply to Re: What do you use as a language litmus?
by Joost
in thread What do you use as a language litmus?
by apotheon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |