[Openmcl-devel] defstruct - generic constructor?

David Reitter reitter at cmu.edu
Wed Apr 29 13:26:17 PDT 2009


I've been trying to make instances of objects whose types have been  
defined using `defstruct'.

Unfortunately, the obvious `make-instance' doesn't work (with ccl at  
least).  I'm glad, however, that `class-of' and `class-name' do their  
jobs.

The only way I got this to work was this clumsy hack:

(apply (read-from-string (format nil "make-~a" (class-name chunk-type)))
...)

Is there a nicer, more efficient way of doing this?
I'd need to find out what the constructor is for a given class.   
Reading the `defstruct'  code didn't help me much.

In more general terms, can I expect that `class-of' and `class-name'  
work for structures in other CL implementations?

Thanks for your input.



More information about the Openmcl-devel mailing list