Re: [Scheme-reports] procedure identity Per Bothner (04 Jun 2013 23:20 UTC)
Re: [Scheme-reports] procedure identity Noah Lavine (05 Jun 2013 04:24 UTC)
Re: [Scheme-reports] procedure identity Per Bothner (05 Jun 2013 06:55 UTC)
Re: [Scheme-reports] procedure identity taylanbayirli@gmail.com (05 Jun 2013 10:40 UTC)
Re: [Scheme-reports] procedure identity Alaric Snell-Pym (05 Jun 2013 11:09 UTC)
Re: [Scheme-reports] procedure identity Andy Wingo (07 Jun 2013 21:23 UTC)
Re: [Scheme-reports] procedure identity Alaric Snell-Pym (07 Jun 2013 22:17 UTC)
Re: [Scheme-reports] procedure identity taylanbayirli@gmail.com (05 Jun 2013 11:18 UTC)
Re: [Scheme-reports] procedure identity John Cowan (05 Jun 2013 12:41 UTC)
Re: [Scheme-reports] procedure identity taylanbayirli@gmail.com (05 Jun 2013 14:02 UTC)

Re: [Scheme-reports] procedure identity Andy Wingo 07 Jun 2013 21:19 UTC

On Wed 05 Jun 2013 13:08, Alaric Snell-Pym <alaric@snell-pym.org.uk> writes:

> "lambda" is a construct that, when evaluated, gathers the closed-over
> variables and allocates a closure-thing and puts them in along with
> the hardcoded code pointer.

This is not the case :)  Lambda is an abstraction that may or may not
correspond to an object at runtime.

> It may or may not make sense to deduplicate operationally equivalent
> closures - that have the same (or equivalent in some other way) code
> pointers, and eqv? closed-over variables, and that don't set! their
> variables so they will remain eqv?.

For implementations that use environments, you just compare the code
pointer and the environment.

For implementations with flat closures, you compare the code pointer and
each captured variable.  (Mutated variables are captured in a box.)

Just sayin'.

Andy
--
http://wingolog.org/

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports