Nicholas Clark <[EMAIL PROTECTED]> writes:
>On Thu, Dec 27, 2001 at 09:11:26AM -0800, Benjamin Stuhl wrote:
>> --- Michael G Schwern <[EMAIL PROTECTED]> wrote:
>> [... and the shears went snip, snip, ker-snip ...]
>> > #B::Bytecode [module broken, can't test]
>> > #B::C [ditto]
>> > #B::CC [ditto ditto]
What is up with B::C ?
>> > #B::Concise [[EMAIL PROTECTED]]
>> > #B::Disassembler [Wolfgang Laun]
>> > #B::Lint [[EMAIL PROTECTED]]
>> > #B::Stackobj [[EMAIL PROTECTED]]
>> > #B::Xref [[EMAIL PROTECTED]]
>> > Byteloader
>>
>> Byteloader is untestable without a working B::Bytecode (we
>> have no way of generating input files for it. Anyway,
>> Byteloader/B::Bytecode are actually speed _losses_, so IMHO
>> they should probably simply be killed - they're just wasted
>> space in the distribution. (IIRC, I was the last person to
>> seriously hack on them.) And if they get removed from the
>> core, they obviously don't need tests ;-).
>
>I think I agree on all of this.
>("think" in that I've read it twice and can't see any obvious reason why I'm
>going to be able think of any counter arguments between now and perl6)
>
>> > Dynaloader
>>
>> What sort of test does Dynaloader need? If dynaloading
>> doesn't work, no dynamic extensions (Socket, Fcntl, IO,
>> POSIX, ...) will work, and the errors they'll spew are
>> pretty obviously loading problems.
>
>XSLoader::load 'POSIX', $VERSION;
>XSLoader::load 'Fcntl', $VERSION;
>XSLoader::load 'Socket', $VERSION;
>XSLoader::load 'IO', $VERSION;
>
>although that's a biased picture as it appears that many other core extensions
>are using its interface directly, rather than via the featherweight XSLoader.
>(including Encode.pm, I18N.pm, threads.pm threads/shared.pm)
Does it make sense to switch Encode et. al. to XSLoader?
(Did anyone take action to move Cwd.pm to place where XSLoader expects it?)
>
>>From its pod:
>
>DynaLoader Interface Summary
>
> @dl_library_path
> @dl_resolve_using
> @dl_require_symbols
> $dl_debug
> @dl_librefs
> @dl_modules
> Implemented in:
> bootstrap($modulename) Perl
> @filepaths = dl_findfile(@names) Perl
> $flags = $modulename->dl_load_flags Perl
> $symref = dl_find_symbol_anywhere($symbol) Perl
>
> $libref = dl_load_file($filename, $flags) C
> $status = dl_unload_file($libref) C
> $symref = dl_find_symbol($libref, $symbol) C
> @symbols = dl_undef_symbols() C
> dl_install_xsub($name, $symref [, $filename]) C
> $message = dl_error C
>
>so I guess that as much as that as possible, preferable all needs testing
>(in an ideal world. As I found with Benchmark.t, trying to test everything
>gets quite big. And it had less things than Dynaloader.)
>
>Nicholas Clark
--
Nick Ing-Simmons
http://www.ni-s.u-net.com/