Responding to Trans:

>   class Array
>     def to_csv for FasterCSV
>       #...
>     end
>   end
> 
>   [].to_csv #=> NoMethodError
> 
>   space FasterCSV
> 
>   [].to_csv #=> useses FasterCSV's version
> 
>   space Ruby
> 
>   [].to_csv #=> NoMethodError

Looks somewhat similar to the "context-oriented programming" approach.

http://www.swa.hpi.uni-potsdam.de/cop/

Best regards,
Patrick