<span style>Hi all,</span><div style><br></div><div style>Definitions:</div><blockquote style><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace">#lang racket</font></blockquote></div><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace"> </font></blockquote></div><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace">(require racket/sandbox lang/imageeq)</font></blockquote></div><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace">(define ev</font></blockquote></div><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace"> (make-evaluator '(special beginner)</font></blockquote></div><div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace"> #:requires '(2htdp/image)))</font></blockquote></div></blockquote><div style><br></div><div style>Interactions:</div><blockquote style><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace">> (image? (ev '(rectangle 2 2 'solid 'blue)))</font></blockquote><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace" color="#000099">#f</font></blockquote><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<font face="'courier new', monospace">> (image=? (ev '(rectangle 2 2 'solid 'blue))<br> (ev '(rectangle 2 2 'solid 'blue)))<br><font color="#ff0000">image=?: expects type <image> as 1st argument, given: (object:image% ... ) ...</font> [etc., redacted]</font></blockquote>
</blockquote><div style><br></div><div style>But the REPL renders <span style="font-family:'courier new',monospace">(ev '(rectangle 2 2 'solid 'blue)))</span> as a picture of a tiny rectangle, as I would expect.</div>
<div style><br></div><div style>How is the above exposing the difference between <font face="'courier new', monospace">image=?</font>'s perception of an image, and the object implementing the image?</div><div style>
<br></div><div style>And, more importantly, is there a way to make (meaningful) image comparisons across the boundary imposed by the sandbox?</div><div style><br></div><div style>Thanks,</div><div style>jmj</div>