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

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

Re: lisp style question


From: Mark Wooding
Subject: Re: lisp style question
Date: Sun, 05 Dec 2010 20:56:57 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Katalin Sinkov <lispstylist@gmail.com> writes:

> On Dec 4, 4:05 pm, Don Geddis <d...@geddis.org> wrote:
> > You just don't know lisp.
>
> Do you know lisp ?

He seems to.

> Do you even know how to fork off another thread if that is your issue
> with the heading ?

Usually one forks processes.

> Also, style cannot be decoupled from skill of language. Even if you
> learnt all the C, you could not write a C++ style virtual class in it
> unless you had the skill.

There's no such thing.  Are you referring to a class with virtual
members, or a class with a virtual base class?  The former is pretty
trivial; the latter is somewhat interesting.  But none of this is to do
with style.

> The most you would be able to achieve would be methods with function
> pointers.

Starting from C will do that, yes.

> > Oh, and by the way: the functions your listed are not "the elementary
> > functions" (lisp has lots of functions, and there is no unique
> > elementary subset); nor can SETF be written in terms of the ones you
> > listed.
>
> But you have one set provided to you on silver plate to use. Must I
> provide you with all of them before you will activate your neuron and
> lift your finger to explain how setf is implemented ?

SETF is a macro.  It examines its place argument, decodes it (possibly
by macroexpanding it), and attempts to find a SETF-expansion for it (see
GET-SETF-EXPANSION).  It expands to a relatively simple function of this
SETF-expansion, if it exists (binding relevant subexpressions of the
place and the new value to temporaries using LET* and invoking the
setter form); if it doesn't exist then SETF signals an error.

Are you any the wiser?

-- [mdw]


reply via email to

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