On Tue, Aug 15, 2000 at 04:59:19PM -0800, Michael Fowler wrote:
> On Tue, Aug 15, 2000 at 12:33:15PM +0100, Tim Bunce wrote:
> > On Mon, Aug 14, 2000 at 11:30:28AM -0500, Jonathan Scott Duff wrote:
> > >   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.
> 
> Which makes me think of the following.  You don't need to 'use' a seperate
> module for a procedural or OO interface.

I disagree, kind of.

I think of the name of thing being 'use'd as referencing an interface.
(I think that's an important shift in perspective.)

I don't much care what happens behind the scenes so long as what gets
loaded implements the interface that my module has declared that it
needs to 'use'.

Now, if you take the view that the named 'interface' that I 'use'
contains *both* a procedural and OO interfaces, then we can be in
agreement again :-)

Tim.

Reply via email to