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

T operations, etc



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?