When reading about Scheme or Smalltalk, the Dylan programming language is often mentioned.
Here is one person who likes it that has provided some notes on how to translate Scheme to Dylan. Here is his take on it:
Dylan is a completely object-oriented language, with multiple inheritance, generic functions, a powerful module system, a very expressive exception-handling system, hygienic macros, pleasant semantics, and a clean way to turn the knob between expensive dynamic behavior and efficient static constraints.
It sounds very interesting.