Hi, I am relatively new to Factor, and I am trying understand how to
debug programs in it.

Whenever I make an error, a popup suggests to Traceback and open the
debugger. Now, I am used to the debugger in, say, Smalltalk, where I
can browse the current local variables, step into code, edit
definitions and so on.

Of course the Factor debugger does not show local variables, but this
makes the process of debugging completely incomprehensible to me.

For the sake of a trivial example, say I want to group a list of
numbers by their square, and I enter

{ 1 2 -2 3 } [ * ] collect-by

where the correct form would be

{ 1 2 -2 3 } [ dup * ] collect-by

I see that the call stack holds words having to do with the listener
thread both on top and on bottom, where I would have expected to have
something related to collect-by.

The data stack only informative item is something with the name
"kernel-error", and the retain stack (what that even is?) holds a few
numbers, a few empty containers and a composition which seems the only
item relevant to what I have entered.

Can someone explain the process to figure out where the error is, or
to analyze the situation in more detail? I have the feeling the
debugger is a powerful tool, but at my level of experience I cannot
make head or tails of it.

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://p.sf.net/sfu/Zoho
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to