freenode/#sicl - IRC Chatlog
Search
5:24:34
beach
The general rule is that an accessor generic function for an object of purity p must itself be an object of purity p-1.
7:55:24
MichaelRaskin
Nice diagram, and indeed easier to make sure one doesn't miss anything than with the multi-stage bootstrap diagram
7:56:40
beach
Should the first item include MAKE-INSTANCE itself in addition to ALLOCATE-INSTANCE...?
7:57:17
beach
Nah, I guess not. It has already been verified by the fact that the method was called.
8:04:13
MichaelRaskin
Do I understand the diagram correctly that the purity of the defaulted arguments must be no less than the purity of the passed arguments, and I guess not passing an argument means infinitly low purity?
8:06:46
beach
Not quite. Purity matters only when you pass an argument to an accessor. Also, most compound objects should contain objects of the same purity (except for meta-level things like class-of). In this diagram, I assumed that the value of the initargs could become part of the final object ((which is yellow), so the values of the defaulted initargs are yellow as well.
8:08:59
beach
For example, if this diagram is applied to create a class, one initarg might be :DIRECT-SUPERCLASSES. So they should have the same color as the final class we create.
8:10:10
beach
Checking the validity of the initargs given to MAKE-INSTANCE is messy. It involves accessing both ALLOCATE-INSTANCE (which is red in the diagram), INITIALIZE-INSTANCE (which is blue), and SHARED-INITIALIZE (also blue). Maybe I won't bother with this check until I have "tied the knot".