Let me start out by saying that I personally do not use Devel::Declare or any of the modules which use it (MooseX::Declare, TryCatch, etc). My reasons for not using it are pretty much the same as your reasons. To be specific, I think that MooseX::Declare pukes up too many internal details when it errors and this makes for very tricky debugging and fixing that seems to be a non-trivial task (I say this only because no one seems to have fixed it yet or even come close).
This too is exactly why MooseX::Declare remains a MooseX:: module and is in no way an "official" part of Moose. Not until I am sufficiently convinced of the stability of Devel::Declare and the error messages of MooseX::Declare greatly improve will it even be considered.
In short, I totally agree with you (horror!), magic should be used sparingly and is never a foundation upon which you should build.
But, all that said, the Devel::Declare team is trying to reduce the magic-ness by working with the p5p folks. What will come of this? I have no idea, we will have to wait and see.
In reply to Re^3: Is Devel::Declare really so much less evil than source filters? (magic)
by stvn
in thread Is Devel::Declare really so much less evil than source filters?
by moritz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |