in reply to Re^2: Equivalency of Code
in thread Equivalency of Code

To spell it out explicitly, there is nothing that f2() can return that would be right.

The logical conclusion is that function same() does not exist.

Replies are listed 'Best First'.
Re^4: Equivalency of Code
by dynamo (Chaplain) on Feb 07, 2005 at 22:29 UTC
    I disagree with your second idea. f2() and f1() returning the same thing is not the same concept as them having identical functionality.

    To Wit:

    sub f1 { rand; } sub f2 { srand; rand(1); }
    these functions are identical in function, but return different results for the same input.

      Two functions which are identical always return the same result for the same input. That's the definition of a function. Consider that the state of the computer is also an input to the function: if the random seed is the same for both functions, they do return the same results.

      If two functions have the same input (including the exact same environmental states) but do not return the same results (also consider changes to the environment to be "outputs") then they are not the same functions.