Here's a great introduction to how CLOS (definitely the inspiration for this) does multiple dispatch:<p><a href="http://www.gigamonkeys.com/book/object-reorientation-generic-functions.html" rel="nofollow">http://www.gigamonkeys.com/book/object-reorientation-generic...</a><p>This is also possible (perhaps, non-idiomatically) with Python and Perl:<p><a href="http://www.artima.com/weblogs/viewpost.jsp?thread=101605" rel="nofollow">http://www.artima.com/weblogs/viewpost.jsp?thread=101605</a><p><a href="http://search.cpan.org/dist/MooseX-MultiMethods/lib/MooseX/MultiMethods.pm" rel="nofollow">http://search.cpan.org/dist/MooseX-MultiMethods/lib/MooseX/M...</a>