Context Lite
Context Lite is a language extension for writing methods that specialize on the values of dynamic/special variables at runtime. It's similar to ContextL, but uses special variables instead of "layers", and is only for methods. Different methods on the same generic function may specialize on different sets of special variables.

Context Lite's source code is available on Github.