Socrates

Socrates is a programming language embedded in PLT Scheme, which extends predicate dispatching with aspect-oriented programming features. It's based on Doug Orleans's Ph.D. Thesis.