Subject: Re: Runtime class definition without eval?
From: Erik Naggum <erik@naggum.no>
Date: 1999/01/07
Newsgroups: comp.lang.lisp
Message-ID: <3124683401841045@naggum.no>

* robert_m_miles@yahoo.com
| Is this possible? Say I want my code to take the name `human' from the user
| and create a new class named human. I could do
| 
| (eval (list 'defclass user-input inheritance slots-list))
| 
| which could then be
| 
| (eval (defclass human () ((name :accessor name))))
| 
| But there probably is a way to get the first arg of defclass to evaluate
| to a form or symbol without using eval, right?

  consider MACROEXPAND and see what DEFCLASS expands into.  it should be
  instructive.

#:Erik