Re: Perl 6 modules plan

2001-08-13 Thread Tim Bunce

On Sat, Aug 11, 2001 at 02:31:47PM -0400, Kirrily Robert wrote:
 Ask wrote:
 On Thu, 9 Aug 2001, Kirrily Robert wrote:
 
 [...]
  =head2 The role of CPAN
 
  Will CPAN's role remain unchanged?  Will there be a separate space for
  Perl 6 modules (6PAN)?
 
  If we do want to make changes to CPAN then Perl 6 gives us an
  opportunity for a flag day if we need one.  OK, not an actually flag
  *day*, but at least a point where we can say Things are different for
  Perl 6 and to hell with backwards compatibility ;)

No. Larry has said quite clearly that backwards compatibility is very important.
There will be no flag day.

 Eh, that doesn't sound like something we want to do for quite a few
 years.
 
 What makes you say that?  I can imagine a number of scenarios in which
 we decide to do things differently for Perl 6, which could mean that
 lots of Perl 5 modules don't come across cleanly and must be rewritten.

If it's must then Perl 6 has not met it's self-declared goals. I doubt
very much that'll happen.

 One very simple example is if we required each module to have $VERSION.

There will be ways round that, and most if not all other issues.

Tim.



Re: How to implement both object-method and module::function interface?

2000-08-15 Thread Tim Bunce

On Mon, Aug 14, 2000 at 11:30:28AM -0500, Jonathan Scott Duff wrote:
 
 I'll just make up some alternatives for everyone to shoot at:
 
   use Foo;# like CGI.pm, morphs on demand
 
   use Foo;# procedural Foo
   use OOFoo;  # OO Foo
 
   use Foo ':procedural';  # default if ommitted. 
   use Foo ':OO';
 
   use Foo;# equivalent to Foo::procedural
   use Foo::procedural;
   use Foo::OO;
 
   use OOP;# sets some magic variable.
   use Foo;# Now OO rather than procedural

I don't think you can make much valuable progress down that road till
we know what Larry's thinking about how to support multiple installed
versions of a module and multiple implementations of the same 'interface'.

This is a related issue: multiple interfaces to the same code.

Tim [who's only passing through].