D[2]
A Haskell-like language, with type classes.