Asserting that the keyword "def" 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 "var". Heck, D and C++11 use "auto", which is truly bizzare. "def" is a very common keyword to use for this purpose (Clojure, Scala, Groovy, Java, Ruby - the list goes on).
There are valid arguments against introducing the syntax - Scheme tradition, the abundance of other forms that all include "define", 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 {"let", "var", "val", "def", ...} were confusing to any beginner. On Fri, May 11, 2012 at 4:27 PM, Jukka Tuominen < jukka.tuomi...@finndesign.fi> wrote: > > I can't say I like the idea for usability and compatibility reasons. > > Usability: > - Try this idea exaggerated: def lmbd cwcc cdr cond tgt gg param ... > Maybe for hard core pros, but this doesn't make the language > very approachable for the beginners. I made a few new ones so > even the pros could have a taste of it :) > > Compatibility: > - What if I'd like to run the code with a Racket a few > versions back? Or even dare to try it with another dialect of scheme? > > What about using key shortcuts, auto completion, personal mappings > or other IDE means to end up having in all above cases identical and > therefore compatible source code? > > br, jukka > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users >
____________________ Racket Users list: http://lists.racket-lang.org/users