[racket] `def' ?

From: Luke Vilnis (lvilnis at gmail.com)
Date: Fri May 11 16:50:45 EDT 2012

Correction - should have been "...Clojure, Scala, Groovy, _Python_, Ruby..."

On Fri, May 11, 2012 at 4:49 PM, Luke Vilnis <lvilnis at gmail.com> wrote:

> 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.tuominen at 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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120511/b1457415/attachment.html>

Posted on the users mailing list.