Harry,<br><br>Impersonators are used to implement some of the contracts, especially higher order contracts for mutable values such as box/c and vector/c. They "impersonate" a box or vector by intercepting -ref and -set! operations and wrapping the contained value in a contract after getting it / before setting it.<br>
<br clear="all">Carl Eastlund<br>
<br><div class="gmail_quote">On Thu, Jan 19, 2012 at 4:19 PM, Harry Spier <span dir="ltr"><<a href="mailto:vasishtha.spier@gmail.com">vasishtha.spier@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Dear list members,<br></div><div><br></div><div>In the Racket reference under "reflection and security" they give the functionality of "impersonators". As far as I can see there is no mention in the Guide. I can see what they do, but I'm unclear what they are used for. Could someone give me a relatively simple example of where and what they would be used for.</div>
<div><br></div><div>Many thanks,</div><span class="HOEnZb"><font color="#888888"><div>Harry Spier<br></div></font></span></blockquote></div><br>