>>13
It also lacks many of the things that make statically typed languages appetible. You'd think they're about type safety, and you'd be wrong: they're all about type-driven polymorphism and inference. TR lacks both.
God, yes, THIS. Finally someone who understands. Parametric polymorphism and automatic type propagation allow truly concise, literate code in a way that is not possible in a dynamic language.
You should take a look at Clay. A new language in its infancy by a random guy, but it looks promising. It's basically C, but with type parametrization and inference/propagation. One of its killer features is that type parametrization is totally automatic; just leave off the types, and your function is automatically templated on the type of that argument.
There are plenty of downsides though. For one thing, it's even more statement-oriented than most of the C family, which in my opinion really goes against the goal of conciseness. It also has no meta-programming facilities other than type parametrization; there are no macros, no easy way to generate code.
Can we please just combine Lisp and Clay? ;_;