martin@minster.york.ac.uk (03/20/88)
I've just discovered that T version 3 has an as-far-as-I-can-tell undocumented syntax for operations. The documentation gives: (object procedure . method-clauses) where a method-clause is: ((operation-name self . args) . body) well, it turns out that a method-clause can also be: ((operation-name (self op-name next first) . args) . body) where 'self' is bound to the 'object' in which the method-clause was defined, as before, 'op-name' is bound to the operation being carried out, 'next' is bound to the next 'object' in the 'join' which would have been asked to field this operation if the present 'object' had not got it, and 'first' is bound to the first 'object' of the 'join' that was asked to field the operation. It seems obvious that these are intended to allow more control over the inheritance of operations. 'first' is the Smalltalk equivalent of self, and 'next' the equivalent of super! 'op-name' appears to allow the forwarding of operations. How many other wonderful things are hiding in T3.0 that people don't know about because of the (lack of up-to-date) documentation? On a similar note... Has anyone succeeded in re-compiling & linking T3.0, or of suspending a T system? Whenever I try to compile things I get syntax errors (or worse!), and whenever I try to suspend I get an indefinite recursion in vgc! Help! Martin usenet: ...!mcvax!ukc!minster!martin surface: Martin C. Atkins Department of Computer Science University of York Heslington York Y01 5DD ENGLAND PS I'm using the Sun-3 version of T PPS Despite the above gripes, I like T very much... It's just that I can't use it for the things I want unless I can link in some more C routines! PPPS Has anyone else in Europe/UK got T3.0?
jeff@aiva.ed.ac.uk (Jeff Dalton) (03/25/88)
In article <574814312.20004@minster.york.ac.uk> martin@minster.york.ac.uk writes: >I've just discovered that T version 3 has an as-far-as-I-can-tell >undocumented syntax for operations. [...] > ((operation-name (self op-name next first) . args) . body) I'd just noticed that myself. Perhaps it is "unreleased", as the T 2.8 release notes used to say of experimental things. > How many other wonderful things are hiding in T3.0 that people >don't know about because of the (lack of up-to-date) documentation? It works the other way too: the LOCALE special form has stopped working despite being documented in the manual and in Stephen Slade's book. Nonetheless, I suspect the release notes cover most of the changes (they cover the LOCALE one) and so expect that the number of further surprises will be small. >On a similar note... Has anyone succeeded in re-compiling & linking T3.0, >or of suspending a T system? I have not tried rebuilding T, but I have no trouble suspending it with csh job control on a Sun. > Has anyone else in Europe/UK got T3.0? Why, yes: I have one, and I know of at least two others. We should keep in touch. Jeff Dalton, JANET: J.Dalton@uk.ac.ed AI Applications Institute, ARPA: J.Dalton%uk.ac.ed@nss.cs.ucl.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!J.Dalton