emacs-devel
[Top][All Lists]
Advanced

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

Re: /srv/bzr/emacs/trunk r112347: *doc/lispintro/emacs-lisp-intro.texi (


From: Stephen J. Turnbull
Subject: Re: /srv/bzr/emacs/trunk r112347: *doc/lispintro/emacs-lisp-intro.texi (defcustom, defun, simplified-beginning-of-buffer, defvar, Building Robots, Review, save-excursion): `defun' and `defcustom' are now macros rather thanspecial forms. (Bug#13853)
Date: Mon, 22 Apr 2013 02:55:22 +0900

Dmitry Gutov writes:

 > http://www.nhplace.com/kent/Papers/Special-Forms.html starts with:
 > 
 > "Special forms are those expressions in the Lisp language which do not 
 > follow normal rules for evaluation.

This is much broader than common usage, though, since it explicitly
includes macros.

In Commmon Lisp, which has a very narrow (extensional) definition of
"special form"[1], it seems to me the intent of the definition is to
describe those features of the language which are "unfunctional".

 > I dunno, calling anything that can be used as a car of an evaluatable 
 > sexp a "function" makes sense in general context.

But there's a reason to avoid that usage where possible.  In Lisp,
functions are "funcall-able", while special operators and macros are
not.  This makes functions "first class" objects in a way that special
operators and macros are not.


Footnotes: 
[1]  
http://www.lispworks.com/documentation/HyperSpec/Body/03_ababa.htm#clspecialops




reply via email to

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