emacs-devel
[Top][All Lists]
Advanced

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

Re: un-deprecating CL


From: Richard Stallman
Subject: Re: un-deprecating CL
Date: Sun, 16 Sep 2007 20:21:15 -0400

      incf callf callf2 setf function* destructuring-bind case typecase
      loop union intersection set-difference subst sort* delete*

That is a long list.

destructuring-bind is ok to add, because it is simple and modular.
Likewise `case' and `typecase'.

I don't want to add CL argument lists, so no `function*' or `defun*'.

I don't want to add `union' or `intersection' or `set-difference' or
`subst' or `sort*' or `delete*', because they use CL keyword
arguments.

Adding `setf' really means adding `defstruct'.  That might be a good
feature to add, but it is too complex because of all the structure
options.  If we get rid of most of them, `defstruct' could be simple
enough to add.

`incf' and `callf' are creeping featurism, and not worth adding.
`setf' is enough.  But I would not mind extending `push' and `pop'
work with structs in the CL fashion.

      pushnew adjoin caaar caaddr caadr cadaddr cadar caddar cadddr caddr
      cdaar defun* flet every substitute find subsetp

`pushnew' is ok.  `caaar' and so on are superfluous, I think.
Definitely not `flet'; I think its use is bad practice.

`every', `substitute', `find' and `subsetp' have the ugly CL keyword
arguments, so I don't want to add them.





reply via email to

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