[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mcvax!ukc!reading!onion!minster!SoftEng!martin: T operations, etc]
Date: 19 Mar 88 22:38:32 GMT
From: mcvax!ukc!reading!onion!minster!SoftEng!martin at uunet.uu.net
Sender: scheme-request at mc.lcs.mit.edu
To: scheme at mc.lcs.mit.edu
Re: T operations, etc
Organization: Department of Computer Science, University of York, England
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 C. Atkins
Department of Computer Science
University of York
York Y01 5DD
I'm using the Sun-3 version of T
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!
Has anyone else in Europe/UK got T3.0?