[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
T operations, etc.
Date: Mon, 28 Mar 88 13:19:56 EST
From: Bruce Krulwich <krulwich-bruce@yale.arpa>
It seems that this operation definition syntax has been disabled in T3.1, as
shown:
suned/krulwich> t
T 3.0 (17) MC68000/UNIX Copyright (C) 1986 Yale University
[...]
T Top level
> (define-operation zowie)
#{Operation 10 ZOWIE}
> (set q (object nil ((zowie (a b c d)) (list a b c d))))
[Binding Q] #{Object 11}
> (zowie q)
(#{Object 11} #{Operation 10 ZOWIE} #{Object 12 *THE-BUCK-STOPS-HERE*}
#{Object 11})
> (set a (join (object nil) q))
[Binding A] #{Procedure 13}
> (zowie a)
(#{Object 11} #{Operation 10 ZOWIE} #{Object 12 *THE-BUCK-STOPS-HERE*}
#{Procedure 13})
> (exit)
suned/krulwich>
suned/krulwich>
suned/krulwich>
suned/krulwich> t3.1
T 3.1 (1) MC68000/UNIX Copyright (C) 1988 Yale University
[...]
T Top level
> (define-operation zowie)
#{Operation 1 ZOWIE}
> (set q (object nil ((zowie (a b c d)) (list a b c d))))
** Syntax error: bad syntax for special form
(OBJECT NIL ((ZOWIE (A B C D)) (LIST A B C D)))
>>
> (exit)
Is there a reason that it was removed?? It sounds to me like it would be a
useful thing to have.
Bruce
-------
In T3.0 there was a bug which caused operations to be not quite tail-recursive.
This is fixed in T3.1 but I also changed the (still unreleased) syntax to be
(self obj) instead of (obj op next self). You can still get next as
(joind-rhs obj).
-David