<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><br></div><div>Okay, I distilled it to something small and sent in a bug report.&nbsp;</div><br><div><div>On Jan 6, 2013, at 2:51 PM, Robby Findler wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">I think maybe you've just found a bug. Do you have a program to share?<div><br></div><div><div>[robby@yanpu] ~/Downloads$ racket</div><div>Welcome to Racket v5.3.1.12.</div><div>&gt; ((contract (-&gt; integer? integer?) (lambda (x) (values 1 2)) 'pos 'neg) 1)</div>
<div>stdin::2: broke its contract</div><div>&nbsp;expected 1 value, returned 2 values</div><div>&nbsp;in: the range of</div><div>&nbsp; &nbsp; &nbsp; (-&gt; integer? integer?)</div><div>&nbsp;contract from: pos</div><div>&nbsp;blaming: pos</div><div>&nbsp; context...:</div>
<div>&nbsp; &nbsp;/Users/robby/git/plt/collects/racket/contract/private/blame.rkt:89:0: raise-blame-error</div><div>&nbsp; &nbsp;/Users/robby/git/plt/collects/racket/private/misc.rkt:87:7</div></div><div><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Sun, Jan 6, 2013 at 12:26 PM, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Is this really the best we can do for a contracted first-order procedure that accidentally returns two values instead of one:<br>
<br>
Language: racket.<br>
. . procedure-result chaperone: arity mismatch;<br>
&nbsp;wrapper does not accept the number of values produced by<br>
&nbsp;the original procedure<br>
&nbsp; wrapper: #&lt;procedure&gt;<br>
&nbsp; number of values: 2<br>
<br>
<br>
??<br>
<br>
-- Matthias<br>
<br>
<br>
_________________________<br>
&nbsp; Racket Developers list:<br>
&nbsp; <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div><br></div>
</blockquote></div><br></body></html>