Some Smalltalks (Squeak and Pharo) have a wonderful tool called a "Method Finder".
The way it works is you write a sequence of arguments and an expected result, and it suggests a method to call.
For example, I just now tried it, entering
3. 4. 7
in the input. It suggested the following methods:
3 + 4 --> 7
3 bitOr: 4 --> 7
3 bitXor: 4 --> 7
Clicking on any of these opens a browser on the class and method concerned.
Another example: input of
'hello world'. #('hello' 'world')
yielded the single suggestion
'hello world' substrings --> #('hello' 'world')
Another:
' abc '. 'abc'
yields
' abc ' asLegalSelector --> 'abc'
' abc ' withBlanksTrimmed --> 'abc'
;;--
It's a total hack, of course, but none the less effective or useful for that.
It has a list of methods marked "safe to experiment with", and simply tries them out.
It gets a big boost from being able to evaluate the receiver (the first in the input list) to a concrete object, and then only consider methods on that object's class.