Asserting that the keyword &quot;def&quot; would confuse beginners is a red herring. Scheme is AFAIK the only language whose variable binding form is _not_ some kind of an abbreviation. C#/JavaScript use &quot;var&quot;. Heck, D and C++11 use &quot;auto&quot;, which is truly bizzare. &quot;def&quot; is a very common keyword to use for this purpose (Clojure, Scala, Groovy, Java, Ruby - the list goes on). <div>
<br></div><div>There are valid arguments against introducing the syntax - Scheme tradition, the abundance of other forms that all include &quot;define&quot;, avoiding redundancy, the fact that languages in general do not have a bunch of equivalent keywords for binding variables. But readability/familiarity/understandability is not one of them. I would be flabbergasted if the words {&quot;let&quot;, &quot;var&quot;, &quot;val&quot;, &quot;def&quot;, ...} were confusing to any beginner.<br>
<br><div class="gmail_quote">On Fri, May 11, 2012 at 4:27 PM, Jukka Tuominen <span dir="ltr">&lt;<a href="mailto:jukka.tuominen@finndesign.fi" target="_blank">jukka.tuominen@finndesign.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I can&#39;t say I like the idea for usability and compatibility reasons.<br>
<br>
Usability:<br>
 - Try this idea exaggerated: def lmbd cwcc cdr cond tgt gg param ...<br>
   Maybe for hard core pros, but this doesn&#39;t make the language<br>
   very approachable for the beginners. I made a few new ones so<br>
   even the pros could have a taste of it :)<br>
<br>
Compatibility:<br>
 - What if I&#39;d like to run the code with a Racket a few<br>
   versions back? Or even dare to try it with another dialect of scheme?<br>
<br>
What about using key shortcuts, auto completion, personal mappings<br>
or other IDE means to end up having in all above cases identical and<br>
therefore compatible source code?<br>
<br>
br, jukka<br>
<div class="HOEnZb"><div class="h5"><br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br></div>