What languages are available that promote both object-oriented and functional programming? I know that any language that supports first-class functions can be considered fun
Also, many scripting languages such as Python, Ruby, Lua, etc. have this capability, but lack many of the nice features of functional languages such as algebraic data types and pattern matching.