Subject: Re: How can I implement a function inside of a list?
From: Erik Naggum <erik@naggum.net>
Date: Tue, 24 Jul 2001 12:01:50 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3204964907881721@naggum.net>

* Sungwoo Lim <sungwoo@cad.strath.ac.uk>
> I got a label list of a cube by some calculations as below,
> 
> ((a Y b c d) (b W g e a) (c W e f a) (d W f g a) (e L c b) (f L d c) (g
> L b d))
> 
> and wanted put into the (defdiagram shape) like the above example.
> But (apply #'funcall) doesn't works for this case...

  This is the closest to what the Lisp environment will do if you type it
  in like you seem to want to do:

(eval (list* 'defdiagram 'cube <list>))

  You will hear a lot of whining from people who think eval is evil.
  Ignore them for now.

  However, the macro is actually pretty well-behaved, so you can easily do

(put-diagrem 'cube (construct-diagram (check-diagram <list>)))

  which should produce the desired results.

#:Erik
-- 
  There is nothing in this message that under normal circumstances should
  cause Barry Margolin to announce his moral superiority over others, but
  one never knows how he needs to behave to maintain his belief in it.