Personally, I'm partial to Racket
It's cross platform to Windows, Linux and Mac OS X.
It has many libraries and good documentation
There is also a repository
of third party libraries.
Since it's based on Scheme, it has a garbage collector.
The IDE has a debugger and macro stepper.
Can be compiled to byte-code or interpreted.
You can do functional programming, object-oriented programming, logic programming à la Prolog and probably many more.
The downside is that it uses a lot of resources, but I run it on a 10 year old computer without trouble.