[r6rs-discuss] Why is (eqv? g g) unspecified when g is a procedure?
bear at sonic.net
Mon Jul 16 11:00:00 EDT 2012
-----BEGIN PGP SIGNED MESSAGE-----
On 07/16/2012 07:40 AM, Jeff Read wrote:
> On Jul 16, 2012 10:31 AM, "Ray Dillinger" <bear at sonic.net> wrote:
>> Um? Will, did you misspeak here or is there something very
>> fundamental that I'm not understanding? As I see it the same
>> vector of code ought to produce the same behavior when run.
>> Different nonempty closures over the same procedure are unique,
>> of course, but the procedure itself?
> Different nonempty closures over the same procedure are considered
> to behave differently, therefore, they cannot be eqv?.
Right. That's what I said. But in the case where we're not
talking about closures, I would definitely consider procedures
consisting of the same vector of code to have the same value.
(eqv? + +) => #t
seems fine to me. (I pick on + as a well-known purely-
functional procedure which cannot form closures, just to
make the case clear).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----
More information about the r6rs-discuss