1. Tracer

I like the trace utility, and I especially like the ability to check up on 
variables by using the '?' key.

However, my problem at the moment is that there is an error deep within a 
large sequence. It's not a run-time error, but it produces an undesirable 
result. I can't see that particular entry, because all that you can see of 
the sequence is the first few members. I'd like to see extended support in 
the trace facility, to specify an entry or a slice of a variable, or even do 
multi-dimension databases.

A further change, if possible... would be to allow lines that reference 
other lines - ie mysequence[row][col]. Ultimately, it would be nice if it 
could support any function that doesn't change variables outside the scope 
of the function. That might seem a bit strange... but consider this.
Inside tracer window:

if a variable is entered via the ? button, eg template[line]
an entry would appear below as "template[line]=<it's value>"

if a non-variable is entered via the ? button, it checks to see if it will 
change any variables outside the function, and if not will allow it. It puts 
the result in the window as "Result=<it's value>". Result would be a simple 
placeholder, and could not be called by a successive ? entry.

Examples...

template[line - 1] * template[line]
would recognise that there aren't any function calls, and return that 
amount, under the moniker Result=

template[length(template)]
would recognise the presence of a function call, and check the function 
'length' for any commands that would change a variable. If there aren't any, 
then it returns that amount, under the moniker Result=

If it fails it can just return an 'disallowed' message.



My $0.02
=====================================================
.______<-------------------\__
/ _____<--------------------__|===
||_    <-------------------/
\__| Mr Trick

new topic     » topic index » view message » categorize

2. Re: Tracer

Mr. Trick writes:
> However, my problem at the moment is that there is an
> error deep within a large sequence. It's not a run-time error, 
> but it produces an undesirable result. I can't see that 
> particular entry, because all that you can see of the sequence 
> is the first few members. I'd like to see extended support in 
> the trace facility, to specify an entry or a slice of a variable, 
> or even do multi-dimension databases.

I'm going to make some improvements in this area,
but for now you should try the pretty_print() routine
that I've added to misc.e (see Recent User Contributions
"Faster EDS").

You could do something like:

f = open("debug", "w")
pretty_print(f, x, {})
close(f)

where x is your variable.
It will print your variable, no matter
how big or complicated, in a nice readable way.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu