Question on OOPCL

Discussion of Common Lisp

Question on OOPCL

Postby macrolyte » Tue Jun 03, 2014 1:19 pm

I'm reading OOPCL, and could use some help with a term.

OOPCL wrote:
The name of the writer generic function is the list (setf lock-owner). This list is not a form to be evaluated; it is the name of the function—in
other words, it is the "function specifier."



I've never seen the term "function specifier" before, could someone please explain what this means in context with the text. Also, I've been searching the Hyperspec, and I haven't found any reference to "This list is not a form to be evaluated" in regards to the writer generic function which is generated by the :accessor slot option. Could someone assist on where I might find more information? Thanks.
macrolyte
 
Posts: 40
Joined: Sat Jan 25, 2014 8:56 pm
Location: The wilderness of North America

Re: Question on OOPCL

Postby macrolyte » Tue Jun 03, 2014 2:55 pm

I think I've found the answer to my first question here:

CLTL wrote:[X3J13 voted in March 1989 (FUNCTION-NAME) to use fdefinition in the previous paragraph, as shown, rather than symbol-function, as it appeared in the original report on CLOS [5,7]. The vote also changed all occurrences of function-specifier in the original report to function-name; this change is reflected here.-GLS]


So "function specifier" is probably an archaic for "function name" since

CLTL wrote:The function-name argument is a non-nil symbol or a list of the form (setf symbol).


which is as it should be. I still need help with the second question though. Thanks
macrolyte
 
Posts: 40
Joined: Sat Jan 25, 2014 8:56 pm
Location: The wilderness of North America

Re: Question on OOPCL

Postby Goheeca » Tue Jun 03, 2014 2:58 pm

Code: Select all
(setf foo)

Look at that this way: the list doesn't make sense for evaluation. It's only notation which roughly means that the foo is defsetfed. By the way, I like the setf (an abbreviation of set function) facility -- the declarative attitude very much.

The similar thing works in scheme:
Code: Select all
(define (pow2 x) (* x x))

really means:
Code: Select all
(define pow2 (lambda (x) (* x x)))

Although the setf in a definition and in an application looks differently against in scheme's example. The declarative attitude is the same.
cl-2dsyntax is my attempt to create a Python-like reader. My mirror of CLHS (and the dark themed version).
User avatar
Goheeca
 
Posts: 220
Joined: Thu May 10, 2012 12:54 pm

Re: Question on OOPCL

Postby macrolyte » Tue Jun 03, 2014 3:33 pm

Goheeca wrote:Look at that this way: the list doesn't make sense for evaluation. It's only notation which roughly means that the foo is defsetfed. By the way, I like the setf (an abbreviation of set function) facility -- the declarative attitude very much.


So that's it! That was bugging the hell out of me. I just want to be sure of the concepts involved. BTW setf was my first "aha" moment in Lisp when I realized what all a place could be! Thanks so much. I plan on finishing the book in about a few weeks, so I'll probably have more questions. Pax.
macrolyte
 
Posts: 40
Joined: Sat Jan 25, 2014 8:56 pm
Location: The wilderness of North America

Re: Question on OOPCL

Postby Goheeca » Tue Jun 03, 2014 3:49 pm

Yeah, a great example is here on this forum.
cl-2dsyntax is my attempt to create a Python-like reader. My mirror of CLHS (and the dark themed version).
User avatar
Goheeca
 
Posts: 220
Joined: Thu May 10, 2012 12:54 pm

Re: Question on OOPCL

Postby macrolyte » Tue Jun 03, 2014 8:04 pm

One other question, does anyone know the status of Sonya Keene? She doesn't have a Wikipedia page, although she apparently worked for Symbolics, which is just plain awesome in itself. Just my morbid curiosity kicking in... thanks.
macrolyte
 
Posts: 40
Joined: Sat Jan 25, 2014 8:56 pm
Location: The wilderness of North America


Return to Common Lisp

Who is online

Users browsing this forum: No registered users and 4 guests