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."