Skip Menu |

This queue is for tickets about the Devel-Confess-Tiny CPAN distribution.

Report information
The Basics
Id: 105352
Status: resolved
Priority: 0/
Queue: Devel-Confess-Tiny

People
Owner: Nobody in particular
Requestors: haarg [...] haarg.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Misleading name
This seems to have more in common with Carp::Always, the only difference being that it doesn't load Carp.
On Thu Jun 18 16:28:57 2015, haarg wrote: Show quoted text
> This seems to have more in common with Carp::Always, the only > difference being that it doesn't load Carp.
1. In what ways do you think the name misleading? Because the module's interface is different? (e.g. DC:Tiny doesn't accept import arguments)? Because the module lacks some tricks (like unimport, handling objects)? The goal is the same ("Include stack traces on all warnings & errors") and the basic technique is also the same ($SIG{__WARN__} & $SIG{__DIE__} + caller()). 2. Any suggestion for a better name? I don't want Carp::* because it specifically avoids loading Carp. Regards, perlancar
On Thu Jun 18 21:41:48 2015, PERLANCAR wrote: Show quoted text
> On Thu Jun 18 16:28:57 2015, haarg wrote:
> > This seems to have more in common with Carp::Always, the only > > difference being that it doesn't load Carp.
> > 1. In what ways do you think the name misleading? Because the module's > interface is different? (e.g. DC:Tiny doesn't accept import > arguments)? Because the module lacks some tricks (like unimport, > handling objects)? > > The goal is the same ("Include stack traces on all warnings & errors") > and the basic technique is also the same ($SIG{__WARN__} & > $SIG{__DIE__} + caller()).
It implies that Devel::Confess is "large" in some way, which is only true if your definition of large is badly distorted. It also provides none features that motivated the creation or naming of Devel::Confess. It doesn't support one of the primary interfaces of Devel::Confess (-d:Confess) which is the main reason it has a Devel:: name. Confess implies that it uses Carp, even if it doesn't include Carp in the name itself. It also suffers from bugs that Devel::Confess includes workarounds for. Show quoted text
> > 2. Any suggestion for a better name? I don't want Carp::* because it > specifically avoids loading Carp.
Your Getopt::Long::Less and Getopt::Long::EvenLess modules don't load Getopt::Long, so this doesn't seem a particularly strong argument. This module is pretty much is an exact copy of Carp::Always, except with the stack tracing code inlined. I'd recommend using a name based on that. It shared very little with Devel::Confess. Avoiding using Carp causes its own problems, although that doesn't have much to do with this discussion. Show quoted text
> > Regards, > perlancar
On Thu Jun 18 22:21:06 2015, haarg wrote: Show quoted text
> On Thu Jun 18 21:41:48 2015, PERLANCAR wrote:
> > On Thu Jun 18 16:28:57 2015, haarg wrote:
> > > This seems to have more in common with Carp::Always, the only > > > difference being that it doesn't load Carp.
> > > > 1. In what ways do you think the name misleading? Because the > > module's > > interface is different? (e.g. DC:Tiny doesn't accept import > > arguments)? Because the module lacks some tricks (like unimport, > > handling objects)? > > > > The goal is the same ("Include stack traces on all warnings & > > errors") > > and the basic technique is also the same ($SIG{__WARN__} & > > $SIG{__DIE__} + caller()).
> > It implies that Devel::Confess is "large" in some way,
Ah, you're right. I didn't think it that way, sorry for that. I'm removing this module for now, because I'm not using it for anything real at the moment. Thanks for the inputs. Regards, perlancar