On Friday 05 September 2008 06:07:53 Aristotle Pagaltzis wrote:

> * chromatic <[EMAIL PROTECTED]> [2008-09-04 23:15]:

> > UNIVERSAL::isa and UNIVERSAL::can are examples of applying the
> > design principle of Report Bugs Where They Are, Not Where They
> > Appear.

> How do you propose doing that in the general case? I am certainly
> interested in what technology you have invented so that computer
> programs can automatically debug themselves and detect the real
> source of any problems.

Who's trying to solve it in the general case?  It's a design *principle*, sort 
of like the architectural design principle that Buildings Should Not Fall 
Down.  You can't make a general rule as to building materials and 
construction techniques used for every building everywhere, but you use that 
principle to help you decide which materials and techniques to use.

See also the Carp module.  (croak() from the point of view of the caller to 
identify misuse of a function or method.)

> > Earlier versions had one tremendous flaw in that they reported
> > all *potential* failures, rather than actual actionable
> > failures explicitly worked around. This was a huge mistake to
> > which I clung to stubbornly for far too long, and I've
> > corrected it in recent versions. However good my intentions in
> > maintaining that feature, the effects worked against my goals.

> Just in the last couple of days, David Golden reported making at
> least two (did I count correctly?) substantial changes to how
> CPAN::Reporter grades tests, in order to prevent particular
> classes of bogus FAILs. Isn’t that a demonstration of exactly the
> same care?

Provided it also identifies the problems on tester machines to help them 
reconfigure/update to produce relevant reports, yes.

-- c

Reply via email to