> I have already seen somebody here redefine the REBOL PRINT 
> for use its own PRINT substitute with extensions instead and 
> when leaving
> his own context put back the normal PRINT so everything seems 
> normal after.

slim includes (as part of its basic toolset) a very advanced print mechanism, which 
allows you indent every part of the code you are using.

vprint/vprobe  also can be swicthed on and off run-time so that you can only see print 
statements when you need them, yet still leave them in the code for future debugging.

because each slim uses its own context, you can switch the vprint on and off for each 
module separately and this allows you to debug ONLY the part of the code you are 
working on.

I give a simple example of an indented output in the console, when verbose is set to 
on:

pane/gl-layout(none : 108x110)

    ------------------------
      ----- ROOT PANE ----
    ------------------------

    pane/gl-layout(none : 106x108)
        pane/gl-layout(none : 104x106)
            gl.text/gl-layout(Packages: 102x22)
 
            ]
        ]
        pane/gl-layout(none : 102x56)
            pane/gl-layout(none : 80x56)
                pane/gl-layout(none : 80x40)
                    gl.text/gl-layout(: 80x20)
                    ]
                ]
                gl.text/gl-layout(test-a.r: 80x20)
                ]
            ]
        ]
    ]
    gl.box/gl-layout(none: 80x16)
    ]
]



in this example, the print statements in the functions themselves where silenced, but 
you still a clean diagram of program flow and can easily identify an error...

all slim modules get the vprint system added at load time... so you don't have to 
fiddle around with any of this... its free and its completely hands off... you only 
have to use vprint instead of print and add the /in and /out refinement whenever you 
want to indent code (which is usually at the begining of a function or a loop, and at 
the end of these.

also note that all modules cooexist as part of the indentation, so different modules 
using vprint, will all indent cleanly!

also note that this system uses the global print, leaving you to do your own 
complimentary tricks... as usual... like saving to a log... yep... you get indented 
logs...


sorry for this shameless plug  ;-)



-MAx

-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to