Joe Corcoran wants to give this talk

Better Composition with Traits

This talk will explain the concept of traits, specifically the model described in the 2006 paper Traits: A Mechanism for Fine-grained Reuse by Ducasse et al.

We will take a look at differing trait implementations in some other languages, which specific everyday design problems traits solve and how they differ from Ruby modules as a method for code reuse.

Finally we will explore how some features introduced in Ruby 2 allow us to implement Ducasse's traits in Ruby and how to compose a class without touching the class hierarchy at all.