What should be the perl6 idiom for handling debug code?
I am writing a program that will be run with large values and take some
time when it is clear that it is running correctly.
In order to ensure that the program is correct, I have added code to
generate and output intermediate results. I do not want this code to be
compiled for the large values. At the same time, I don't want to
eliminate the code in case the intermediate results will be needed
again. I have previously handled this situation by commenting out the
debug code, but this leads to problems when I want it back.
My first thought was:
constant DEBUG = True;
BEGIN { if DEBUG {
# code generating intermediate results
}
}
But then this fails in this context
class A {
has $.a is rw;
BEGIN { if DEBUG {
has @.mem-metric;
}
}
has $.b;
# etc etc etc
method reset {
@.mem-metric = ()
}
}
I actually got " Null PMC access in find_method('mem-metric') "
without a line number to indicate at what point the compilation got
stopped, which indicates that this is a bug rather than a syntax error.
However, I was wondering whether there was another way to achieve the
same effect. Possible using POD as an extension of just commenting out
the code?
Regards
Richard