On Aug 31, 2011, at 4:43 PM, Jukka Tuominen wrote:

> 
>> 
>> A few minutes ago, Neil Van Dyke wrote:
>>> Josh Tilles wrote at 08/31/2011 01:03 PM:
>>>> -- Is there any sort of general practice or prevailing taste in when
>>>> to use (for example) *null* vs *empty* vs *(list)*? What about *(let
>>>> ([...]))* vs *(local (define ...))*?
>>> 
>>> I think most people do "'()" when they want a literal null list.
>>> Don't use "(list)", since that's a procedure call.
>> 
>> Two quick notes: (list) would be optimized the same, I think; and at
>> least in the Racket sources I think that `null' is the more popular
>> choice.  (With `empty' winning in the more HtDP-oriented side.)
>> 
> 
> #lang racket a.k.a. default language seems to be clear on this one when
> evaluated
> 
> (list) >>  '()  didn't know this one myself
> empty  >>  '()
> null   >>  '()
> '()    >>  '()


I'd stick with '() and HtDP/2e will move there. 




> Then what is the 'correct' predicate to go with?
> 
> empty?
> null?
> 
> anything else?


I'd stick with empty?. History brought in car, cdr, null? and null and that's 
bad because programmers may accidentally connect this to Java's NULL, which is 
a horrible idea. 




_________________________________________________
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/users

Reply via email to