The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use v6;

=begin Pod
	An example of Parametric roles
	Adopted from http://rakudo.org/2009/01/parametric-roles.html
=end Pod

role Greet[Str $greeting] {
    method greet() { say "$greeting!"; }
}

class EnglishMan does Greet["Hello"] { }

class Slovak does Greet["Ahoj"] { }

class Lolcat does Greet["OH HAI"] { }

# Hello
EnglishMan.new.greet();

# Ahoj
Slovak.new.greet();

# OH HAI
Lolcat.new.greet();