<br><div class="gmail_quote">On Fri, Dec 16, 2011 at 2:22 PM, Neil Van Dyke <span dir="ltr">&lt;<a href="mailto:neil@neilvandyke.org">neil@neilvandyke.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Zayr Okale wrote at 12/16/2011 06:52 AM:<div class="im"><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
In the simplest cases in CL I can ignore extra values for free (without extra wrappers or any other code clutter). In Racket I cannot, and this is what prompted my question: why not do it the CL way?<br>
</blockquote>
<br></div>
An ignored value of a multiple-value return could be a bug, rather than the intention of the programmer.  How can the compiler tell the difference?  How can someone reading the code later.<br>
<br>
I am glad that Racket considers an ignored multiple-value return value to be a bug.<br>
 </blockquote><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
A different question is whether an ignored single-value return value should be considered a bug.  Currently it is not, and a lot of code has been written assuming that it is not.<span class="HOEnZb"><font color="#888888"><br>

<br></font></span></blockquote><div><br>Hmm, I don&#39;t get the logic. Ignored single return value is not a bug and is ok (because that&#39;s how things happened to be in that case in the first place) but ignored multiple-value is a bug (because that&#39;s how things happened to be in that case in the first place)? Ignored optional parameter could be bug but nobody is complaining for Racket not complaining about it? Of course there is no such thing as optional multiple-value return value ... as there is no named return value.<br>
<br>I would be happy if Racket by default would not consider these as bugs or not bugs, especially only because that&#39;s how things used to be, or how much legacy stuff there may be. Isn&#39;t that the purpose of PLT Scheme -&gt; Racket transition that things can and will be improved? And Racket has contracts, tests and types, if someone wants to force or double-check something. Make it a platform where you can define your local ideals of style and enforce them automatically.<br>
<br>In fact I would be really glad also if someone came up with a neat syntax to support symmetric input-output with optionality and nameability :)<br><br>-Markku<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="HOEnZb"><font color="#888888">
-- <br>
<a href="http://www.neilvandyke.org/" target="_blank">http://www.neilvandyke.org/</a></font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<u></u>___________________<br>
 For list-related administrative tasks:<br>
 <a href="http://lists.racket-lang.org/listinfo/users" target="_blank">http://lists.racket-lang.org/<u></u>listinfo/users</a><br>
</div></div></blockquote></div><br>