aij@computing-maths.cardiff.ac.uk (Andrew Jones) (02/25/89)
I am using Smalltalk-80 version T2.1.2a on a Tektronix 4404 machine. I am interested in manipulating contexts, but I have discovered that there are complications in this particular version of Smalltalk. For example, I could not get the backtracking facility described by LaLonde & Van Gulik in OOPSLA 88 to work until I discovered that ContextPart redefines such messages as basicAt:put: and instVarAt:put:. When I created my own copying routine which used the standard methods the problems seemed to go away. Looking through the ContextPart code, it seems that when you modify the stack pointer, something a bit special is going on (methods primDecrementStackp and primIncrementStackp). Could anyone enlighten me further? I note that in the version of Smalltalk used for their Detektr expert-system these methods were absent, as in the version of Smalltalk-80 we have on an IBM PC/AT. What I really want to know is, can I safely modify these contexts or is there some kind of interaction with this particular interpreter which I need to be aware of?