[m-rev.] for review: atoms in the debugger
David Overton
dmo at cs.mu.OZ.AU
Fri Jan 4 16:42:57 AEDT 2002
On Fri, Jan 04, 2002 at 04:21:20PM +1100, Zoltan Somogyi wrote:
> On 04-Jan-2002, Ralph Becket <rafe at cs.mu.OZ.AU> wrote:
> > For me the problem arises from too many years of using Prolog's
> > unfortunately misnamed atom/1 and atomic/1 meta-predicates.
>
> Ouch. I have successfully managed to forget those.
Also note the following use of "atom" in the Mercury standard library:
:- type term(T) ---> term__functor(
const,
list(term(T)),
term__context
)
; term__variable(var(T)).
:- type const ---> term__atom(string)
; term__integer(int)
; term__string(string)
; term__float(float).
I have often found these two different uses of "atom" confusing.
Looking at the Sicstus manual, they seem to use "goal" to refer to the
atom printed by the debugger:
S 23 6 Call: T foo(hello,there,_123) ?
S is a spy-point indicator. It is printed as `+', indicating that
there is a spy-point on `foo/3', or ` ', denoting no spy-point.
....
The next word specifies the particular port (Call, Exit,
Redo, Fail, or Exception).
The goal is then printed so that you can inspect its current
instantiation state. This is done using `print/1' (*note Term
IO::.) so that all goals output by the tracing mechanism can be
pretty printed if the user desires.
David
--
David Overton Department of Computer Science & Software Engineering
PhD Student The University of Melbourne, Victoria 3010, Australia
+61 3 8344 9159 http://www.cs.mu.oz.au/~dmo
--------------------------------------------------------------------------
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