<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>YC wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><br><div class="gmail_quote">On Thu, Jul 22, 2010 at 6:38 AM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu">matthias@ccs.neu.edu</a>></span> wrote:<br><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; position: static; z-index: auto; ">
<div style="word-wrap:break-word"><div><br></div><div>YC, this can all work out IF you organize your program like this: </div><div><br></div><div> module A: define functions, export with contracts and only with contracts </div>
<div> module B: import A and create the assoc lists from here </div><div> module C: the client imports from B only and performs all ops on the assoc list via B operations </div><div><br></div><div>Then the keys are contracted procedures and lookup works out fine. </div>
</div></blockquote><div><br></div><div>Thanks Matthias for the idea. I needed to have all procedures eq itself in a dynamic setting (yes they already work in modules as expected), but as Robby explained why they do not, I will try to explore alternative approaches. </div>
</div></div></blockquote><div><br></div>FWIW I've done this in a couple of places before and it works quite well.</div><div><br></div><div>-- D</div><br></body></html>