On Wed, Oct 24, 2007 at 03:25:41AM +0900, Yohanes Santoso wrote:
> Chad Perrin <perrin / apotheon.com> writes:
> > On Tue, Oct 23, 2007 at 01:29:16PM +0900, M. Edward (Ed) Borasky wrote:
> >> 
> >> You can almost get away with writing Lisp 1.5 in either Common Lisp or 
> >> Scheme. Where you'll get thrown off is
> >> 
> >> a. Lexical scoping. Both Common Lisp and Scheme are lexically scoped, 
> >> but Lisp 1.5 was dynamic.
> >> b. There ain't no "evalquote" any more -- it's "read - eval - print".
> >> c. Scheme treats "nil" as true.
> >
> > Point C really throws me.  I guess my Ruby bias is showing.
> 
> Strictly speaking, Scheme does not have nil. It has empty list, (),
> which in other Lisps is also called nil.
> 
> And, as in Ruby, an empty container, be it a list or an array, is
> evaluated as true in boolean context.
> 
> The only false value in Scheme is #f.

Thanks.  That makes a lot more sense to me.

-- 
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
Isaac Asimov: "Part of the inhumanity of the computer is that, once it is
completely programmed and working smoothly, it is completely honest."