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

defstruct, and the :named option

Glenn has a point, which is that the Common Lisp language has no business assuming
that the default defstruct type is a vector.  Hence my suggestion that a :named
keyword be added to make-array and make-vector was a bad suggestion and I withdraw it.

We can do one of two things: put in the new "abstract" structure creation primitives
GSB suggested, which in implementations that use vectors for structures are macros
that turn into the usual vector primitives (and those implementations do have a :named
option in their make-vector and make-array functions, presumably).  Or we can give up
on having defstruct be a portable program and require every implementation to write
their own (perhaps by munging a copy of someone else's).  It's an issue of extra
language complexity versus maintenance headaches.