Am I inferring correctly that you are saying closure consumes a constant factor of memory over struct, but otherwise doesn&#39;t necessarily hold onto unnecessarily references from the stack? <br><br>Any other way besides closure &amp; struct to create opaque compound value objects? 
<br><br>Thanks,<br>yinso <br><br><div><span class="gmail_quote">On 5/31/07, <b class="gmail_sendername">Robby Findler</b> &lt;<a href="mailto:robby@cs.uchicago.edu">robby@cs.uchicago.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The size of a closure is proportional to the number of free variables<br>in the function. A struct with an equivalent number of slots uses less<br>memory, however.<br><br>Robby<br><br>On 5/31/07, YC &lt;<a href="mailto:yinso.chen@gmail.com">
yinso.chen@gmail.com</a>&gt; wrote:<br>&gt;<br>&gt; On 5/31/07, Carl Eastlund &lt;<a href="mailto:cce@ccs.neu.edu">cce@ccs.neu.edu</a>&gt; wrote:<br>&gt; &gt; &gt; In principle, a closure is essentially a struct.&nbsp;&nbsp;All that needs to be
<br>&gt; &gt; &gt; stored is a code pointer and references to any free variables.&nbsp;&nbsp;How<br>&gt; &gt; &gt; efficient this is in practice depends a lot on the particular<br>&gt; &gt; &gt; implementation.&nbsp;&nbsp;Are you asking in general, or about PLT Scheme
<br>&gt; &gt; &gt; specifically?<br>&gt;<br>&gt; I am specifically interested in PLT Scheme (general info is also of interest<br>&gt; but secondary).<br>&gt;<br>&gt;&nbsp;&nbsp;Does closure hold references to the stack?&nbsp;&nbsp;I&#39;ve heard that Scheme doesn&#39;t
<br>&gt; keep variables on the stack, but want to verify.<br>&gt;<br>&gt;&nbsp;&nbsp;If closure is as efficient as a struct that&#39;s great - I am finding myself<br>&gt; leaning toward closure because it can be created anonymously and ad hoc, but
<br>&gt; doing so with struct is a lot harder.<br>&gt;<br>&gt;&nbsp;&nbsp;Thanks,<br>&gt;&nbsp;&nbsp;yinso<br>&gt;<br>&gt;<br>&gt; _________________________________________________<br>&gt;&nbsp;&nbsp; For list-related administrative tasks:<br>&gt;&nbsp;&nbsp; <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme">
http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>&gt;<br>&gt;<br></blockquote></div><br>