Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.lisp > #33119 > unrolled thread

FUNCTION , FBOUNDP and accessors

Started bySpiros Bousbouras <spibou@gmail.com>
First post2019-07-18 17:08 +0000
Last post2019-07-21 12:13 -0400
Articles 4 — 4 participants

Back to article view | Back to comp.lang.lisp


Contents

  FUNCTION , FBOUNDP and accessors Spiros Bousbouras <spibou@gmail.com> - 2019-07-18 17:08 +0000
    Re: FUNCTION , FBOUNDP and accessors taruss@google.com - 2019-07-18 13:51 -0700
    Re: FUNCTION , FBOUNDP and accessors Sam Steingold <sds@gnu.org> - 2019-07-18 17:11 -0400
    Re: FUNCTION , FBOUNDP and accessors Barry Margolin <barmar@alum.mit.edu> - 2019-07-21 12:13 -0400

#33119 — FUNCTION , FBOUNDP and accessors

FromSpiros Bousbouras <spibou@gmail.com>
Date2019-07-18 17:08 +0000
SubjectFUNCTION , FBOUNDP and accessors
Message-ID<YXa2zN27Jon0LIeXNlFRKK5c@bongo-ra.co>
On  clisp  and ECL doing
    (function (setf car))

gives an error and doing
    (fboundp '(setf car))

returns NIL .Is this legal behaviour ?

[toc] | [next] | [standalone]


#33120

Fromtaruss@google.com
Date2019-07-18 13:51 -0700
Message-ID<5033db05-2ce2-416b-88a1-e361bcb3c7df@googlegroups.com>
In reply to#33119
On Thursday, July 18, 2019 at 10:08:04 AM UTC-7, Spiros Bousbouras wrote:
> On  clisp  and ECL doing
>     (function (setf car))
> 
> gives an error and doing
>     (fboundp '(setf car))
> 
> returns NIL .Is this legal behaviour ?

It is legal behavior if (setf car) is not a function name. In fact, users can define set expanders that are not necessarily functions. So it may be the case
that there is no function with the designator (setf car). This is even more
likely in the case of built-in functions.

[toc] | [prev] | [next] | [standalone]


#33121

FromSam Steingold <sds@gnu.org>
Date2019-07-18 17:11 -0400
Message-ID<m1sgr3oxo7.fsf@gnu.org>
In reply to#33119
> * Spiros Bousbouras <fcvobh@tznvy.pbz> [2019-07-18 17:08:00 +0000]:
>
> On  clisp  and ECL doing
>     (function (setf car))
>
> gives an error and doing
>     (fboundp '(setf car))
>
> returns NIL .Is this legal behaviour ?

Yes, these accessors are implemented as macros.
An accessor is defined as "a function, macro, or special operator".

-- 
Sam Steingold (http://sds.podval.org/) on darwin Ns 10.3.1671
http://childpsy.net http://calmchildstories.com http://steingoldpsychology.com
http://americancensorship.org http://www.memritv.org
Fibonacci dinner = breakfast + lunch leftovers.

[toc] | [prev] | [next] | [standalone]


#33130

FromBarry Margolin <barmar@alum.mit.edu>
Date2019-07-21 12:13 -0400
Message-ID<barmar-06A97E.12132221072019@reader443.eternal-september.org>
In reply to#33119
In article <YXa2zN27Jon0LIeXNlFRKK5c@bongo-ra.co>,
 Spiros Bousbouras <spibou@gmail.com> wrote:

> On  clisp  and ECL doing
>     (function (setf car))
> 
> gives an error and doing
>     (fboundp '(setf car))
> 
> returns NIL .Is this legal behaviour ?

I believe so. I don't think the CL spec says how any of the built-in 
SETF methods are implemented. These are presumably implemented using 
SETF expanders, not SETF functions.

-- 
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.lisp


csiph-web