help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: About the macro expander


From: Xue Fuqiao
Subject: Re: About the macro expander
Date: Mon, 4 Feb 2013 08:10:00 +0800

> and again:
> 
>   (cons t (cons t (cons t (list-of-length 0))))
> 
> and again:
> 
>   (cons t (cons t (cons t nil)))

About this step, why does the 'null be expanded to nil?  I know that the type 
symbol `null' represents the symbol `nil' in `cl-typep', thus `(cl-typep OBJECT 
'null)' is equivalent to `(null OBJECT)'.  But other than that, `null' should 
be a function, which returns t if OBJECT is nil.

> When trying to understand what (require 'cl) is about, what it aims for,
> you can have a look at: 
> http://www.lispworks.com/documentation/HyperSpec/Front/index.htm
> and Practical Common Lisp http://www.gigamonkeys.com/book/
> and http://cliki.net/

Thanks for your information, but I think CLHS and Practical Common Lisp is too 
long.  And in many ways, they are incompatible with `cl-lib' in Emacs, such as 
the `equal' predicate does not distinguish between IEEE floating-point plus and 
minus zero, and the second argument of `cl-check-type' is treated differently, 
etc.

-- 
Best regards, Xue Fuqiao.
http://www.emacswiki.org/emacs/XueFuqiao



reply via email to

[Prev in Thread] Current Thread [Next in Thread]