Self reference in objects

Date: 19 October 1988, 16:51:25 ECT
From: Harald Hanche-Olsen +47-7-593525 HANCHE at NORUNIT
To: scheme@mc.lcs.mit.edu
(I suppose this should be sent directly to Jonathan Dubman who asked
the question, but my mailer would not accept his monstrous address...)
To: apple!bionet!agate!e260-3b.berkeley.edu!128a-3aj@BLOOM-BEACON.MIT.EDU
Jonathan had problems with allowing his objects to refer to themselves.
His objects are defined by lambda expressions, so I can't think of any
reason why the following would not work:
(define (make-player ...)
(letrec
((self (lambda (...) <body of player>)))
self))
or something like it. In <body of player> you can use self
to denote *this* player, like in
(present-room 'move self 'north)
- Harald Hanche-Olsen