[m-rev.] for review: implement undo for declarative debugger

Mark Brown mark at cs.mu.OZ.AU
Tue Jul 26 14:52:29 AEST 2005


On 26-Jul-2005, Ian MacLarty <maclarty at cs.mu.OZ.AU> wrote:
> 
> 
> On Tue, 26 Jul 2005, Mark Brown wrote:
> 
> > On 26-Jul-2005, Ian MacLarty <maclarty at cs.mu.OZ.AU> wrote:
> > > On Tue, 26 Jul 2005, Mark Brown wrote:
> > >
> > > > On 26-Jul-2005, Ian MacLarty <maclarty at cs.mu.OZ.AU> wrote:
> > > > > --- doc/user_guide.texi	17 Jun 2005 10:13:55 -0000	1.439
> > > > > +++ doc/user_guide.texi	26 Jul 2005 02:04:16 -0000
> > > > > @@ -4100,6 +4100,11 @@
> > > > >  @item skip
> > > > >  Skip this question and ask a different one if possible.
> > > > >  @sp 1
> > > > > + at item undo
> > > > > +Reset the state of the declarative debugger to the state it was in before the
> > > > > +last `yes', `no', `inadmissible', `trust' or `skip' answer was given or
> > > > > +the last subterm was marked, whichever was most recent.
> > > > > + at sp 1
> > > >
> > > > What happens if you give the `undo' command twice in succession?  The
> > > > documentation should be clearer on this point.
> > > >
> > >
> > > Isn't it clear that if the state of the declarative debugger has been reset
> > > to what it was before the previous answer, then issuing another undo will
> > > reset the state of the declarative debugger to what it was before the
> > > previous-previous answer?
> >
> > Not entirely.  It depends on how you interpret the word "last" in the
> > description.  Is the sequence of commands from which we select the "last"
> > considered part of the state of the debugger (and is therefore also reset),
> > or not?  If you implement a "redo" command, for example, you could say that
> > it reverses the effect of the last undo command, but that would be "last"
> > in a different sense.
> >
> 
> Are you saying that people might interpret the description as meaning
> undo is idempotent?

Yes.  Or at least they might think of that possibility and wonder whether
that was the actual behaviour, which is what I did.

> Or are you saying they may think two successive undos would cancel each other
> out.
> The fact that I say the state is reset to what it was before the last
> `yes', `no', `inadmissible', `trust', `skip' or `mark' excludes the possibility
> that two undos would cancel each other out (since `undo' is not included in
> this list).

No; I got that part.

Cheers,
Mark.

--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list