18:47:01pjbasarch: #(3 4) = 3+4i complex numbers are nice too.
18:47:31pjbsymbols are symbols, they can represent anything. This is the power of lisp.
18:48:26pjbfunction names are symbol (or lists of the form (setf foo)); variable names are symbols, macro names are symbols, special operator names are symbols, but also: tags, class names, type names, and my brother-in-law.
18:49:09pjbasarch: dynamic/lexical is orthogonal to local/global (only CL provides operators to create only dynamic global, but it's trivial to implement lexical globals using deine-symbol-macro).
18:49:49pjbasarch: perhaps you'd want to read the tutorials at http://cliki.net/Online+Tutorial first?
19:04:00asarchThey should call that function "fision"
19:14:40pjbasarch: originally, lisp only had conses, integer, floating-points and symbols.
19:15:08pjbasarch: in that environment, conses were not atomic, since you could split the car and the cdr, but the other were atomic.
19:15:16pjbFor a long time, atom = symbol, basically.
19:15:57pjbasarch: however, vectors and other structured objects were introduced later. They are not atomic. But they're not CONS cells, so they're still called ATOMs, because (defun atom (x) (not (consp x))).
22:28:06plertroodIs there a way I can get a list of all classes that have been defined with a given metaclass?
22:29:10Bikei guess you could look through all subclasses of standard-object, but i don't recommend that
22:29:19Bikeyou could have your metaclass keep track of it, of course
22:29:53plertroodYeah, thats the way I am doing it at the minute.
22:29:53ShinmeraGenerally there's no way to directly enumerate the instances of any class.
22:30:01plertroodThe metaclass keeping track of it.
22:30:27plertroodI'm sure I read in AMOP that there was a way to do this.. but damned if I can find it..
22:30:50Bikei don't think so. that would basically mean a class tracking all of its instances
22:31:02Bikewhich would be a sort of expensive thing to do by default
22:31:06ShinmeraYou could potentially do something with make-instances-obsolete & update-instance-fore-redefined-class, but I think the latter is only called lazily, which means when an instance is accessed.