I just started my first Ruby program -- a translation from my Perl version of the Hunt/McIlroy diff algorithm. My implementation takes a callback to generate a key for comparison. This makes sense in Perl, but what are the rules in Ruby? If you override == are you expected to override hash() as well (as in Smalltalk)? If so, I could use hash. The idea is that you may have sequences of your own objects that you are comparing. By passing in an (optional) key generation (hashing) function, you can specify what parts of your objects are important for this comparison. Does this make sense in terms of an API? I figured that using hash and == would not give the kind of control over this comparison that people might expect to have. -- Ned Konz currently: Stanwood, WA email: ned / bike-nomad.com homepage: http://bike-nomad.com