<div dir="ltr"><div><div><div><div><div><br><div class="gmail_extra"><br><div class="gmail_quote">2015-01-03 21:26 GMT+01:00 Matthew Butterick <span dir="ltr"><<a href="mailto:mb@mbtype.com" target="_blank">mb@mbtype.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><span>> The empty list is also a list of cheeses.<br><div class="gmail_extra"><br></div></span><div class="gmail_extra">Further down that road, I was a tiny bit surprised recently to discover that `andmap` returns true for any predicate when the input list is empty [1], but then I saw how it's a natural consequence of this principle. Empty is a member of every list, thus empty can never test false.</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">[1] <a href="http://docs.racket-lang.org/reference/pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._andmap%29%29" target="_blank">http://docs.racket-lang.org/reference/pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fmap..rkt%29._andmap%29%29</a></div><div class="gmail_extra"> </div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Sat, Jan 3, 2015 at 11:34 AM, Jens Axel Søgaard <span dir="ltr"><<a href="mailto:jensaxel@soegaard.net" target="_blank">jensaxel@soegaard.net</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>2015-01-02 23:58 GMT+01:00 Frank Weytjens <<a href="mailto:fweytjens.android@gmail.com" target="_blank">fweytjens.android@gmail.com</a>>:<br>
> Happy new year Racketeers,<br>
<span><br>
> An empty list is a list, but is it a lat ?<br>
<br>
> If you give an empty list as argument to the lat?-function, the answer is<br>
> yes. But an atom must be a string of characters or numbers, or even one<br>
> character, or a combination of special characters as long as it is not an (<br>
> or an ). The empty list contains no characters at all, so it can not be a<br>
> list of atoms.<br>
<br>
</span><span>> Then an empty list can be anything.<br>
<br>
</span>To some degree it is a matter of convention. This illustrates the<br>
usual convention:<br>
<br>
Is this is a list of (person) names?<br>
     Alice, Bob, Charlie<br>
Yes, all items on the list are names.<br>
<br>
Is this a list of names?<br>
     Alice, Bob, Cat<br>
No, since Cat is not a name.<br>
<br>
Is this (the empty list) a list of names?<br>
     <nothing><br>
Yes, there are no non-names on the list.<br>
In other words all items on the list are names, which makes it a list of names.<br>
<br>
The empty list is also a list of cheeses.<br>
<br>
<br>
--<br>
Jens Axel Søgaard<br>
</div></div><div><div><br><span>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</span></div></div></blockquote></div><br></div></div>
<br>____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br><br clear="all"><br></div><div class="gmail_extra">Hello,<br><br></div><div class="gmail_extra">This is my point of view:<br></div><div class="gmail_extra"><br></div>TLS tell's us to ad this definition to work with Scheme<br><br>(define atom? <br>   (lambda (x)<br>       (and (not (pair? x)) (not (null? x)))))<br><br></div>it also say's that the empty list ()  is a list.<br><br></div>Now how can the empty list, that contains nothing at all, be of any type?<br></div>In my opinion it is the type of thing you put in it that defines the type of list.<br></div>Calling an empty list a list of a certain type, can only be done by <br></div>definition and the only advantage is that recursion over a list is much easier.<br><br><div><div><div><div>If you look at the definition of an atom, you see that calling an empty list a list of atoms is a violation of the definition of an atom, because the atom can not be null and the empty list is null.<br><br></div><div>Let me put it differently. Is an empty bag an empty bag of oranges or an empty bag of lemons? You may say both. I understand that an empty bag may contain anything, but isn't it redundant to call it more than just an empty bag?  <br></div><div><br></div><div></div><div>Suppose i write a note with 'i owe myself one million $' and put this note in my wallet. Does this make me a millionaire? <br>Or do i have an empty million wallet?<br><br></div><div>Then why bother about how was the universe created? Just pick some answer out of my empty bag of universe creations.<br><br></div><div>Who is God ---> '()<br><br></div><div></div><div>Greetings<br><br></div><div>Frank<br><br><br></div></div></div></div></div>