http://www.perlmonks.org?node_id=428842


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

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.

Replies are listed 'Best First'.
Re^5: Equivalency of Code
by bunnyman (Hermit) on Feb 08, 2005 at 16:58 UTC

    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.