[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]