Re: TTY debugger and the portray mechanism.

From: Joachim Schimpf <j.schimpf_at_icparc.ic.ac.uk>
Date: Wed 14 May 2003 01:26:42 PM GMT
Message-ID: <3EC24412.3BEA6EA9@icparc.ic.ac.uk>
josh singer wrote:
> 
> The second bug is that it is unpredictable in the TTY debugger whether
> compound terms get displayed using their portray predicate definitions or
> not. This seems to be an interaction between the TTY debugger, the module
> system and the portray mechanism.
> Here's an example.
> 
...
> [eclipse 6]: test_create(1, 2, 3, T), test_length([T], X).
>   (1) 1 CALL  test_create(1, 2, 3, T)   %> creep
>   (1) 1 EXIT  test_create(1, 2, 3, test(1))   %> creep
>   (2) 1 CALL  test_length([test(1)], X)   %> creep
>   (3) 2 CALL  length([test_struct_impl(1, 2, 3)], X)   %> skip
>   (3) 2 EXIT  length([test_struct_impl(1, 2, 3)], 1)   %> creep
>   (2) 1 EXIT  test_length([test(1)], 1)   %> creep
...
> 
> Maybe this is because the portray exported by test_module_b is not visible
> in test_module.

That's right. You have stepped into a different module context,
where the portray is not visible. Operator declarations and the like
will have similar behaviour.


> But this is to be expected, since test_module is often a
> low-level utility, which wouldn't be expected to know about the
> peculiarities of some application-specific data module (test_module_b).

I anyone has an idea how to do better, let me know!
With plain data structures, we don't have any module information
attached, i.e. we don't know in which module the data structure
was originally created, so we don't know where we should look
for a portray declaration.

In the special case (not yours) of goal-portrays (where the portrayed
date structure is actually a predicate call), we could actually do
better since we can look up the predicate's definition module.


-- 
 Joachim Schimpf              /             phone: +44 20 7594 8187
 IC-Parc                     /      mailto:J.Schimpf@imperial.ac.uk
 Imperial College London    /    http://www.icparc.ic.ac.uk/eclipse
Received on Wed May 14 14:26:58 2003

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:21 PM GMT GMT