Received: by ATHENA-PO-1.MIT.EDU (5.45/4.7) id AA22923; Tue, 30 Apr 91 23:15:46 EDT
Received: from MOUNTAIN-DEW.MIT.EDU by ATHENA.MIT.EDU with SMTP
	id AA05404; Tue, 30 Apr 91 21:06:15 EDT
Received: by mountain-dew.MIT.EDU (5.61/4.7) id AA00440; Tue, 30 Apr 91 21:05:08 -0400
Message-Id: <9105010105.AA00440@mountain-dew.MIT.EDU>
To: asj@ATHENA.MIT.EDU, se26@ATHENA.MIT.EDU
Subject: UNDO Spec.
Date: Tue, 30 Apr 91 21:05:06 EDT
From: Michael L Barrow <mlbarrow@ATHENA.MIT.EDU>


Jules:

Here is the spec as you requested (the second one)....

undo = proc(env: environment)
MODIFIES: environment
REQUIRES: Environment has been initialized -- mainly that
environment$set_board & environment$set_undo_board have been applied to
environment with some valid initial values.
EFFECTS : This procedure will swap the current board and the 'undo'
board in the supplied environment. 

How UNDO works:

1) When the user makes a move, the current board is stuck into the
undo_board part of the environment. The new board (after the move has
been applied to the board) is then stored as the current board.

2) When the user requests an UNDO, the boards are swapped.



And that's it in a nutshell.

-- MLB
