[m-dev.] for review: new debugger command set, part 1

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Jul 7 19:37:23 AEST 1998


On 07-Jul-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> > > step [-NSans] [<num>]
> >
> > I suggest you write `[<options>]' rather than `[-NSans]'.
> > (Likewise for all the other commands.)
> 
> Once we have long options, we won't have room for listing them all,
> but until then it would be better to list them all. Are you sure?

Yes, I'm sure ;-)

It's not really useful to know which options a particular command
accepts without knowing what those options mean.

> > > restart
> > 
> > I'm not sure this is a good name for this command.
> > What will we call the command to restart the whole program?
> 
> run?

Fair enough.

> I am not sure what would be a better name (redo and retry are also bad).
> How about "again"? Any other suggestions?

Looking at the alternatives, maybe restart isn't so bad after all.

> > > ... <module name> <predicate name> [<arity> [<mode> [<predfunc>]]]
> > 
> > 	[<predfunc>] [<module name>:]<predicate name>[/<arity>] [mode <mode>]
> 
> or the format which is used by the debugger when it prints procedure ids:
> 
> [<predfunc>] [<module name>:]<predicate name>[/<arity>][-mode <mode>]

I think you meant

  [<predfunc>] [<module name>:]<predicate name>[/<arity>][-<mode>]

Yes, that would be fine.

> In any scheme involving modulename:predname, we should also accept __
> instead of :.

Yes, indeed.

> > > scroll [on | off]
> > > 	If the argument is present, turn user control over the scrolling
> > > 	of sequences of event reports on or off. If it is absent, reports
> > > 	whether user scroll control is enabled or not.
> > > 
> > > 	When user scroll control is enabled, every 20th report of an event
> > > 	will be followed by a --more-- prompt.
...
> > You shouldn't hard-code the "20".
> 
> Well, what we want is to automatically get the window size from the operating
> system, but that is future work. I didn't think there would be *too* much point
> in providing a user command for setting it, but providing one would be trivial.

I think it would be worthwhile to provide such a command.

> > There should be an unconditional quit command which does not ask
> > confirmation.
> 
> How about "quit -y"?

Fine.

> > > compiler/trace.m:
> > > 	After every call to MR_trace(), emit code that checks whether it
> > > 	should jump away, and if yes, performs the jump. This is used to
> > > 	implement restart. (The debugger cannot execute the jump itself
> > > 	because it is in the wrong C stack frame.)
> > 
> > Ouch -- this is going to be expensive.
> 
> Yes, but for the time being I can't think of a way to implement restart
> that avoids this cost, and I think restart is sufficiently important that
> the cost is worthwhile.

Yes, I agree.  But ouch nevertheless :-(

> > > +stack_layout__get_name_from_live_value_type(LiveType, Name) :-
> > > +	( LiveType = var(_, NamePrime, _, _) ->
> > > +		Name = NamePrime
> > > +	;
> > > +		Name = ""
> > > +	).
> > 
> > Please s/NamePrime/Name0/
> 
> I don't see that in the coding guidelines, and the Prime convention is
> used in many other places.

Well, personally I find the Prime convention very ugly.  But you're right,
it is used in many other places (I was suprised to see how many).
So I guess the milk is already spilt ;-)
Never mind.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.



More information about the developers mailing list