maeda@MCC.COM (Christopher Maeda) (10/20/88)
    From: HANCHE%NORUNIT.BITNET@CUNYVM.CUNY.EDU
    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
    [...]
Wasn't there a 6.001 problem set on this?  Can't we just send the
sources to this guy and be done with it?HANCHE@NORUNIT.BITNET (10/20/88)
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