brian d foy wrote:
>
> I'm not interested in any of the p5p drama.
Thank you.
> I'm going by our existing
> guidelines, which I take rather seriously. There's nothing we can or
> will do to stop you from developing code and uploading to CPAN.
>
> However, I am interested in the best name possible for any module, and
> I don't think the name you've chosen will lead anyone to think that you
> are loading modules as you suggest. I think Matt's name suggestion is
> good.
>
----
use mem doesn't load modules.
if it is put *in* a module, it directs perl to use the "in memory" copy
of the module rather
than searching for it on disk **when**, a user does a "use" of that
module, later in the file.
It's a directive to tell the "use" command NOT to do something (load
something).
It's NOT something used in a 'client' module, but in the 'serving'
module, itself.
It doesn't take a name, because it only applies to the module it is in.
In effect, it registers the module using this pragma as already being in
memory.
The alternative is for 'use' to search the module path on disk. There
was no option to tel
'use' to use the "in memory" copy of the module that was already loaded.
> Your options now are to keep doing what you are doing, or consider our
> naming advice. Either way, we don't want to get in the way of anything
> else you're doing or want to contribute. We don't judge modules based
> on content, quality, or source. We merely want to help modules get
> discovered.
>
----
That won't happen until there are enough example of usage out there
-- which
goes against the currently suggested paradigm of putting each module in
a separate file.
I was told to go prototype it on cpan before it would be accepted
into the language
because people don't like the idea of putting multiple packages/modules
in the same file,
as a general rule. Some people do it, but for every 1 that does, 10
people tell me I should
put my modules, each in a separate file.
If the barrier to putting modules in the same file is high enough
(difficult enough) or
people don't remember the syntax, or how to do it, it won't happen.
One person suggested using some existing file which resulted in
spelling mistakes
because the person called it:
use Module::Runtime qw(module_notional_filename);
BEGIN{$::INC{__PACKAGE__}=module_notional_filename(__PACKAGE__);}
(vs. me reading /remembering it at the time as notational.. regardless,
doing the above,
is already implemented and no one has told me 'hey, your idea is already
implemented,
why don't you use (they above) -- why? Because it's *buried*, hard to
remember and hard
to use.
Vs.
my version:
use mem;
If ANYONE could have suggested I use the version already in cpan, I'd
agree that have
such syntax and obscurity wasn't an issue. The fact that no, here
bothered to suggest
that such functionality might already be available through the use of
something
over 12 times longer, suggests to me that making a pragma that alters
existing
language operation -- into a package like the above (or like what was
suggested) is
a recipe for failure.
It's already been done.
The point of making it short with no 'ARCANE' knowledge required, is to make
it accessible without inside knowledge of perl -- a view that had gotten me
branded a heretic in every instance I've attempted it.
If it cannot be recognized that changing use mem into the equivalent of
use XXXXXXXX::YYYYYYY 'ZZZZZZZZ::000001111'
and requiring a BEGIN, isn't enough to kill it, then people aren't studying
recent history.
Am I beginning to get any understanding (maybe not agreement, but
understanding
at least!)...
> Good luck, :)
>
>