Re: TAP as XML

2005-11-22 Thread Stevan Little
Michael, You might want to look at some of the work on the Pugs test suite. http://m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl It uses (among other things) Test::TAP::Model and Test::TAP::HTMLMatrix, and uses YAML as an intermediate test-run format. Stevan On Nov 22, 2005, at 2:11 PM, Mi

Re: TAP as XML

2005-11-22 Thread Stevan Little
Michael, On Nov 22, 2005, at 3:13 PM, Michael Peters wrote: Stevan Little wrote: Michael, You might want to look at some of the work on the Pugs test suite. http://m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl It uses (among other things) Test::TAP::Model and Test::TAP::HTMLMatrix, and uses

[NEW] test for C3 MROs

2005-12-05 Thread Stevan Little
Sorry, I tried to follow docs/submissions.pod, but my patch-fu is very weak. Please forgive me. This is a test for C3 MROs, it includes most of the tests from Perl6::MetaModel prototype in Pugs (which themselves were stolen from examples in Python and Dylan). I am not sure where you would

Table of Perl 6 "Types"

2006-01-03 Thread Stevan Little
Hello all, I hope everyone is having a good start to the new year. As Audrey's posts have mentioned, we are starting to work on container and boxed types in the PIL^N/PIL2 runcore. Over the holidays I went through the most recent Synopsis and attempted to compile a list of what I think are

Re: Table of Perl 6 "Types"

2006-01-03 Thread Stevan Little
ted (immutable) list - On Jan 3, 2006, at 6:15 PM, Stevan Little wrote: Hello all, I hope everyone is having a good start to the new year. As Audrey's posts have mentioned, we are starting to work on container and boxed types in the PIL^N/PIL2 runcore. Over the holidays I wen

S12: Possible contradiction in responsibilities of Class & Object

2006-01-09 Thread Stevan Little
Hello all, I have been reading the recently updated Synopsis 12, and a few things jumped out at me. In the "Classes" section, classes are described like this: Classes are primarily for instance management, not code reuse. Later in the same section the following is stated: Every cl

Construction and Initialization of repr types other than P6opaque

2006-01-09 Thread Stevan Little
Hello again, In Pugs, we are currently trying to figure out how classes are initialized with $repr types other than P6opaque. My interpretation of S12 is that P6opaque types are initialized as follows (by default): &new is called with named arguments, it then calls &bless passing in 'P6op

perl6-all@perl.org

2006-01-18 Thread Stevan Little
Hello All, In reading over the Synopsis again in hopes of finding more information regarding the different repr types (see the warnocked post entitled "Construction and Initialization of repr types other than P6opaque"), I stumbled onto some issues with the Perl 6 OO model and &bless. I

perl6-all@perl.org

2006-01-18 Thread Stevan Little
On 1/18/06, chromatic <[EMAIL PROTECTED]> wrote: On Wednesday 18 January 2006 14:13, Stevan Little wrote: Do we really still need to retain the old Perl 5 version of &bless? What purpose does it serve that p6opaque does not do in a better/ faster/cleaner way? Interoperability w

perl6-all@perl.org

2006-01-18 Thread Stevan Little
On Jan 18, 2006, at 10:41 PM, Trey Harris wrote: Excuse my ignorance of the finer points, but I thought the reason for bless's continued existence was so that the same sort of brilliant OO experimentation that Damian and others have done with pure Perl 5 can continue to be done in pure Perl

perl6-all@perl.org

2006-01-19 Thread Stevan Little
On 1/18/06, chromatic <[EMAIL PROTECTED]> wrote: > On Wednesday 18 January 2006 18:54, Stevan Little wrote: > Or are you thinking that a Perl 6 value should be blessed into a Perl > 5 package? That's closer to what I had in mind. > I think there is a real serious is

Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
Hello, I am forking this off the "Perl 6 OO and bless" thread since that seems to have gotten bogged down in what it all means to Perl 5 interoperability. This was not really my intent with the original thread, but I think it is still a fruitful discussion so I will re- make my original po

Re: Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
On Jan 19, 2006, at 4:10 PM, Rob Kinyon wrote: Packages don't have anything to do with the class system. Actually ^Class.isa(^Package) ;) Stevan

Re: Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
Juerd, On Jan 19, 2006, at 4:10 PM, Juerd wrote: Stevan Little skribis 2006-01-19 15:45 (-0500): class Foo { method new ($class: %params) { $class.bless(%params); Wouldn't that be %params.bless($class), or more directly, %params.blessed = $class? Nope, according t

Re: Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
Juerd, On Jan 19, 2006, at 4:21 PM, Juerd wrote: Juerd skribis 2006-01-19 22:18 (+0100): Could you live with @foo being an array, and @foo in scalar context returning a reference to that array? And with arrays being interfaces to underlying Arrays, which are objects, which makes arrays non-o

Re: Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
On Jan 19, 2006, at 5:09 PM, Juerd wrote: Stevan Little skribis 2006-01-19 17:06 (-0500): This turns "everything is an object" into "everything can be used with OO syntax", which I think is more true Alternatively and simultaneously, "everything represents an objec

Re: Perl 6's &bless is (seriously) broken

2006-01-19 Thread Stevan Little
On Jan 19, 2006, at 5:19 PM, Jonathan Scott Duff wrote: On Thu, Jan 19, 2006 at 11:07:49PM +0100, Juerd wrote: Stevan Little skribis 2006-01-19 16:59 (-0500): 2) what if the role conflicts with other roles being does-ed by Foo? Debugging hell there. Very good point. Aren't role conf

perl6-all@perl.org

2006-01-19 Thread Stevan Little
On 1/19/06, chromatic <[EMAIL PROTECTED]> wrote: Next question. If Ponie and Perl 6 are both running on Parrot, and if Ponie has PMCs that represent Perl 5 data containers, such as p5hash, p5array, p5symbol, and so on, what's the problem with having a Perl 6 object that uses one of those

perl6-all@perl.org

2006-01-20 Thread Stevan Little
> On Thursday 19 January 2006 21:53, Stevan Little wrote: > > With p5, you /can/ get to the underlying data structure. This is a > > break which will hamper the backwards compatibility effort I think. > > With Perl 5, you can *appear* to get to the underlying data struc

perl6-all@perl.org

2006-01-20 Thread Stevan Little
Larry Wall wrote: > On Fri, Jan 20, 2006 at 09:35:13PM +0800, Audrey Tang wrote: > My original intent was #2, hence the wording in A12. But to speak to > some of Stevan's concernes, there's something going on here which is > not quite "Object does Hash". It's more like "Object can do Hash", > in

perl6-all@perl.org

2006-01-26 Thread Stevan Little
On 1/25/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Larry Wall wrote: > > But my hunch is that it's > > a deep tagmemic/metaphorical problem we're trying to solve here. > > Such issues arise whenever you start making statements of the form > > "I want to use an A as if it were a B." The problem

perl6-all@perl.org

2006-01-26 Thread Stevan Little
On 1/26/06, Rob Kinyon <[EMAIL PROTECTED]> wrote: > On 1/26/06, Stevan Little <[EMAIL PROTECTED]> wrote: > > Actually this might not be a bad approach in this case. Take this for > > instance: > > > > method foo (Foo $self, $key) { > > ((Hash)

perl6-all@perl.org

2006-01-26 Thread Stevan Little
On 1/26/06, Rob Kinyon <[EMAIL PROTECTED]> wrote: > On 1/26/06, Stevan Little <[EMAIL PROTECTED]> wrote: > > > If there is need to treat something as a Hash, then provide it with a > > > postcircumfix<{}> and leave it at that. It's highly unlikely that y

Interesting Paper on Prototype Based OO w/ Multi-Methods

2006-01-27 Thread Stevan Little
Hello All, Recently on #perl6 putter found the Slate language (http://slate.tunes.org/) in our search for some information about Smalltalk. Slate is a prototype based OO language which uses multi method dispatch instead of more traditional method dispatch. As I flipped through some of the papers o

Re: A proposition for streamlining Perl 6 development

2006-02-07 Thread Stevan Little
On 2/7/06, Allison Randal <[EMAIL PROTECTED]> wrote: > On Feb 7, 2006, at 13:28, Yuval Kogman wrote: > > > Apologies if this is insulting to anyone, but personally I think > > that Perl 6 (pugs, parrot, everything) is losing too much momentum > > lately. I think we need to seriously rethink some of

Re: A proposition for streamlining Perl 6 development

2006-02-07 Thread Stevan Little
On 2/7/06, chromatic <[EMAIL PROTECTED]> wrote: > On Tuesday 07 February 2006 14:17, Yuval Kogman wrote: > > De-facto we have people running PIL on javascript. > > It works more than parrot does. > > No, it works *differently* from Parrot, just as an LR parser works differently > from an LR parser.

Re: overloading the variable declaration process

2006-02-07 Thread Stevan Little
On 2/7/06, Matt Fowles <[EMAIL PROTECTED]> wrote: > Stevan~ > > I am going to assume that you intended to reply to perl 6 language, > and thus will include your post in its entirety in my response. Yes, sorry... I missed the "reply to all" button on the gmail UI by a few pixels I guess. Thank you

Re: A proposition for streamlining Perl 6 development

2006-02-07 Thread Stevan Little
On 2/7/06, chromatic <[EMAIL PROTECTED]> wrote: > On Tuesday 07 February 2006 15:56, Stevan Little wrote: > > > The Pugs project and the Parrot project have had very different goals > > actually (at least Pugs did from the early days). Pugs aimed to be > > able to eva

Re: overloading the variable declaration process

2006-02-07 Thread Stevan Little
On 2/7/06, Matt Fowles <[EMAIL PROTECTED]> wrote: > Stevan~ > > On 2/7/06, Stevan Little <[EMAIL PROTECTED]> wrote: > > > > Well, to be totally honest, I think only Larry truely understands > > their usage, but to the best of my understanding they are intente

Re: A proposition for streamlining Perl 6 development

2006-02-07 Thread Stevan Little
On 2/7/06, Allison Randal <[EMAIL PROTECTED]> wrote: > On Feb 7, 2006, at 15:31, Stevan Little wrote: > > > > Now I am not as involved in Parrot as I am in Pugs so I might be way > > off base here, but from my point of view Parrot still has a long way > > to go be

Re: overloading the variable declaration process

2006-02-08 Thread Stevan Little
On 2/8/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Consider "my Dog $spot". From the Perl6-to-English Dictionary: > Dog: a dog. > $spot: the dog that is named Spot. > ^Dog: the concept of a dog. > > Am I understanding things correctly? > > If so, here's what I'd expect: a dog can bark, or

Re: overloading the variable declaration process

2006-02-09 Thread Stevan Little
On 2/8/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Stevan Little wrote: > > Yes, that is correct, because: > > > > Dog.isa(Dog) # true > > $spot.isa(Dog) # true > > ^Dog.isa(Dog) # false > > > > In fact ^Dog isa MetaClass (or Class whatever

Re: overloading the variable declaration process

2006-02-09 Thread Stevan Little
On 2/9/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Stevan Little wrote: > > Jonathan Lang wrote: > > > OK. To help me get a better idea about what's going on here, what > > > sorts of attributes and methods would ^Dog have? > > > > Well, a met

Re: Instance attributes collision

2006-02-14 Thread Stevan Little
On 2/12/06, Yiyi Hu <[EMAIL PROTECTED]> wrote: > For perl 6, > Array and Scalar are in different namespace. > So, > class A { has $.a; has @.a }; > > what will A.new.a return by default? > > An Error? or Scalar has a higher priority? It seems to me that the best way to approach this issue is to s

Re: overloading the variable declaration process

2006-02-14 Thread Stevan Little
On 2/12/06, Thomas Sandlass <[EMAIL PROTECTED]> wrote: > > > IIRC, you can always create a new method for a class, even outside of > > > its definition, simply by ensuring that the first parameter to be > > > passed in will be an object of that type: > > > > > > method bark (Dog $_) { ... } > > >

Re: Instance attributes collision

2006-02-15 Thread Stevan Little
On 2/15/06, Rob Kinyon <[EMAIL PROTECTED]> wrote: > On 2/14/06, Stevan Little <[EMAIL PROTECTED]> wrote: > > I think that the metaclass (stored in the pseudo-lexical $::CLASS) > > should create a number of anonymous roles on the fly: > > > >role { &g

Re: Multisubs and multimethods: what's the difference?

2006-03-02 Thread Stevan Little
On 3/2/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Can subs be declared within classes? Can methods be declared without > classes? If the answers to both of these questions are "no", then it > occurs to me that you _could_ unify the two under a single name, using > the class boundary as the di

Re: Multisubs and multimethods: what's the difference?

2006-03-02 Thread Stevan Little
On 3/2/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: > Stevan Little wrote: > > Jonathan Lang wrote: > > > Can subs be declared within classes? Can methods be declared without > > > classes? > > > > I would say "yes". > > > >

Re: Perl 6 design wiki?

2006-03-04 Thread Stevan Little
On 3/4/06, Mark Overmeer <[EMAIL PROTECTED]> wrote: > One thing which is playing in my head already for some time is: > > Do we really want a translation from Perl5 modules into Perl6 on > a one-to-one basis? There are so many deceased modules occupying > beautiful name-spaces! Can we pleas

Re: Perl 6 design wiki?

2006-03-05 Thread Stevan Little
On 3/5/06, Mark Overmeer <[EMAIL PROTECTED]> wrote: > * Stevan Little ([EMAIL PROTECTED]) [060305 02:49]: > > On 3/4/06, Mark Overmeer <[EMAIL PROTECTED]> wrote: > > > Could we try to kind-of pre-register name-spaces for perl6 modules? > > > There is no need

Re: packages vs. classes

2006-05-26 Thread Stevan Little
On 5/23/06, Sam Vilain <[EMAIL PROTECTED]> wrote: Right, but we should really ship with at least a set of Meta Object Protocol Roles, that covers the core requirements that we will need for expressing the core types in terms of themselves; - classes and roles - attributes and methods - subsets (

Module/Class Authoritys

2006-08-10 Thread Stevan Little
Quick question for the group. Can there be more than one authority? module Foo-0.0.1-cpan:JRANDOM-http://www.foo.org-mailto:[EMAIL PROTECTED] S11 would seem to indicate no (it states that names are made up of 3 parts), but I guess I am wondering if one of those parts can have multiple sub-parts

Re: Re: class interface of roles

2006-10-02 Thread Stevan Little
On 10/2/06, Brad Bowman <[EMAIL PROTECTED]> wrote: Sam Vilain wrote: > TSa wrote: >> is this subject not of interest? I just wanted to start a >> discussion about the class composition process and how a >> role designer can require the class to provide an equal >> method and then augment it to ac

Re: Re: Re: class interface of roles

2006-10-02 Thread Stevan Little
On 10/2/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: This notion of exclusionary roles is an interesting one, though. I'd like to hear about what kinds of situations would find this notion useful; but for the moment, I'll take your word that such situations exist and go from there. Well to be

Re: Re: class interface of roles

2006-10-07 Thread Stevan Little
On 10/6/06, TSa <[EMAIL PROTECTED]> wrote: HaloO, Stevan Little wrote: > As for how the example in the OP might work, I would suspect that > "super" would not be what we are looking for here, but instead a > variant of "next METHOD". I'm not familiar w

Re: Re: class interface of roles

2006-10-07 Thread Stevan Little
On 10/6/06, TSa <[EMAIL PROTECTED]> wrote: HaloO, Stevan Little wrote: > On 10/2/06, Jonathan Lang <[EMAIL PROTECTED]> wrote: >> This notion of exclusionary roles is an interesting one, though. I'd >> like to hear about what kinds of situations would find th

t/oo/class/basic.t path for class Foo::Bar {} failure

2005-05-11 Thread Stevan Little
Index: t/oo/class/basic.t === --- t/oo/class/basic.t(revision 2970) +++ t/oo/class/basic.t(working copy) @@ -21,6 +21,11 @@ my $foo_clone = $foo.clone(); ok($foo_clone ~~ Foo, '... smartmatch our $foo_clone to the Foo class'

Object Numify/Stringify-ing to Unique values

2005-05-13 Thread Stevan Little
Hello all. In the processing of working with mugwump's shiny new perl6 OO Set.pm. I realized that we do not currently have a way to uniquely identify objects in Pugs like the way we have in perl5 (object stringification). So I asked Autrijus, and he promptly implemented a rudimentary object num

Re: Graphing tool for PerlGuts Illustrated

2005-05-21 Thread Stevan Little
Yuval, I think that maybe hand hacking postscript (which very cool) is a little silly given how many great graphing tools are out there. If you scan them in and send them to me, I will lay them out and export that to postscript/pdf/png/etc. Stevan On May 20, 2005, at 5:29 PM, 'Yuval Kogman

Re: Perl development server

2005-05-23 Thread Stevan Little
Juerd, I would like an account too, username 'stevan' please. On May 23, 2005, at 11:25 AM, Juerd wrote: dev.pugscode.org seems indicated ... Sorry, but 'dev' isn't cute enough :). And it's going to be something.perl6.nl, probably. I don't mind aliases, though, but they better be CNAMEs. l

Re: Perl6 and support for Refactoring IDE's

2005-05-25 Thread Stevan Little
On May 25, 2005, at 5:39 AM, Piers Cawley wrote: One of the 'mental apps' that's been pushing some of the things I've been asking for in Perl 6's introspection system is a combined refactoring/debugging/editing environment for the language. Maybe I have been reading too much about Smalltalk me

Autogenerated attribute accessor names

2005-07-05 Thread Stevan Little
Hello, As I am building the metamodel, I had a question, I did not find anything specifically in the docs regarding this. What should I do when I encounter two attributes which can peacefully co-exist as attributes, but cause a class when we autogenerate the accessors for them. Here is a qu

Re: Autogenerated attribute accessor names

2005-07-05 Thread Stevan Little
Larry, On Jul 5, 2005, at 9:08 PM, Larry Wall wrote: If we pretend attribute declarations are anonymous role declarations, they might turn out to be just that, especially if we decide it's a useful conceit. This exact thing occurred to me as I was sitting in traffic on the way back from $wor

Submethods

2005-07-05 Thread Stevan Little
Again with the metamodel stuff :P So, I am trying to implement the submethods correctly, and some questions occurred to me. The concept of non-inherited infrastructural methods is fairly simple to accomplish in the meta-model, by just giving submethods their own dispatch table inside the met

Re: Submethods

2005-07-06 Thread Stevan Little
Thomas, On Jul 6, 2005, at 7:14 AM, TSa (Thomas Sandlaß) wrote: One entry for &bar:(Foo) and one for &bar:(MetaClass[Foo])? You seem to indicate that submethods are not to be used on instances, and instead to be used on the underlying metaclass. I did not see anything of the sort in (Syn|Apo

Re: Submethods (+ suggestion/proposal/idea)

2005-07-06 Thread Stevan Little
Thomas, On Jul 6, 2005, at 10:19 AM, TSa (Thomas Sandlaß) wrote: S12 says in the section Submethods: "A submethod is called only when a method call is dispatched directly to the current class." And without finding a reference I think it was said that "the invocant of a submethod is a class obj

Object Creation (was: Submethods (+ suggestion/proposal/idea))

2005-07-06 Thread Stevan Little
:) Thanks, Stevan On Jul 6, 2005, at 1:45 PM, Larry Wall wrote: On Wed, Jul 06, 2005 at 11:28:47AM -0400, Stevan Little wrote: : It seemed to me from A12 that submethods are meant to define an : interface of some kind, the BUILD/DESTROY submethods being the perfect : example. However this

Re: method calls on $self

2005-07-08 Thread Stevan Little
On Jul 8, 2005, at 2:10 AM, Robin Redeker wrote: And what will be the default syntax to call a method on self? If everyone has completly other preferences about this, for example this horrible ./method() syntax, which completly wont fit into the language, whose favorite will be the default? None

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
Ingo, On Jul 11, 2005, at 9:16 AM, Ingo Blechschmidt wrote: Hi, class Foo {} class Bar is Foo {} Bar.new.isa(Object);# true Bar.new.isa(Class); # false Bar.new.isa(Foo); # true Bar.new.isa(Bar); # true # These are clear, I think. Yes, these all make sense to

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
Ingo, On Jul 11, 2005, at 12:30 PM, Ingo Blechschmidt wrote: I am not sure about this. I think that .isa as a class method should behave much as it does for an instance method. If we start supporting things like Bar.isa(Class) then we start exposing the soft underbelly of the meta-model to the o

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
, Stevan Little wrote: : Ingo, : : On Jul 11, 2005, at 9:16 AM, Ingo Blechschmidt wrote: : >Hi, : > : > class Foo {} : > class Bar is Foo {} : > : > Bar.new.isa(Object);# true : > Bar.new.isa(Class); # false : > Bar.new.isa(Foo); # true : > Bar.new.isa(Bar)

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
Ingo, On Jul 11, 2005, at 3:14 PM, Ingo Blechschmidt wrote: Hi, Stevan Little wrote: Actually I was thinking that MyClass.isa(...) would work much as it did in Perl 5 (like an instance). But that access to the underlying MyClass class instance would not be as simple. Something like ::MyClass

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
On Jul 11, 2005, at 3:07 PM, Larry Wall wrote: Bar.meta.does(CLASS)# true To me this is just code-reuse on the meta-level. Much like in smalltalk: MetaClass isa ClassDescription isa Behavior isa Object and: Class isa Class

Re: Quick OO .isa question

2005-07-11 Thread Stevan Little
chromatic, On Jul 11, 2005, at 4:26 PM, chromatic wrote: On Mon, 2005-07-11 at 15:16 +0200, Ingo Blechschmidt wrote: Bar.new.isa(Object);# true Bar.new.isa(Class); # false Bar.new.isa(Foo); # true Bar.new.isa(Bar); # true I'd like to go on a tangent to suggest tha

Method Resolution Order question

2005-07-13 Thread Stevan Little
Hello, More questions for the metamodel. I am trying to add proper submethod and private method handling and I have a question about method resolution order as a whole. I asked a similar question last week, but this time I have more details :) Given this class: class Foo { submethod

Re: Method Resolution Order question

2005-07-13 Thread Stevan Little
Larry, On Jul 13, 2005, at 2:30 PM, Larry Wall wrote: : The Syn/Apoc seem to indicate that methods and submethods of the same : name can coexist. So the class definition itself is legal. However, it : brings up an issue when it comes time to call bar(). If the Syn/Apoc is giving that impressi

Re: Method Resolution Order question

2005-07-14 Thread Stevan Little
Larry, Thanks for the detailed reply. Just a few more questions and I think I can get this into the metamodel :) On Jul 14, 2005, at 3:40 PM, Larry Wall wrote: On Wed, Jul 13, 2005 at 07:27:52PM -0400, Stevan Little wrote: : The way I am viewing the notion of "current class" for

Re: Method Resolution Order question

2005-07-14 Thread Stevan Little
Larry, Thanks much, this all makes sense. :) Thanks, Stevan On Jul 14, 2005, at 4:54 PM, Larry Wall wrote: On Thu, Jul 14, 2005 at 04:31:07PM -0400, Stevan Little wrote: : Now, the metamodel currently does not have MMD, and I think "next : METHOD" is not as relevant in SMD. S

Re: Perl 6 Modules

2005-07-16 Thread Stevan Little
Gav, Welcome aboard. You might also want to hop onto the #perl6 channel over at irc.freenode.net it is where many of use spend way too much time, and a great place for asking questions like these. On Jul 16, 2005, at 9:03 AM, Gav wrote: For those of you that have been here a while I suspe

More Method Resolution Order Questions (and WALKMETH and WALKCLASS)

2005-07-16 Thread Stevan Little
@Larry, I have been reading up on method resolution orders and class precedence lists and all sort of meta-model esoteria. Which brings me to ask myself, "How should all this be done in Perl 6?". The current state of the prototype meta-model is that it only supports pre-order class traversal

Re: More Method Resolution Order Questions (and WALKMETH and WALKCLASS)

2005-07-18 Thread Stevan Little
Ok, I will un-warnock myself here :) As of r5674 in the Pugs tree, the Perl6::MetaModel now supports all the A12 dispatch orders. :canonical # canonical dispatch order :ascendant # most-derived first, like destruction order :descendant # least-derived first, like con

Re: More Method Resolution Order Questions (and WALKMETH and WALKCLASS)

2005-07-18 Thread Stevan Little
Larry, On Jul 18, 2005, at 3:21 PM, Larry Wall wrote: On Mon, Jul 18, 2005 at 02:54:40PM -0400, Stevan Little wrote: : Ok, I will un-warnock myself here :) Sorry, I've been occupied by various time-consuming family obligations. My own fault, I asked on the weekend. People *should* spend

Re: Do I need "has $.foo;" for accessor-only virtual attributes?

2005-07-21 Thread Stevan Little
Larry, This means that Roles are now first-class-ish things. Meaning they cannot just simply be composed into classes since now we have to keep a table of elements which are private to a Role. I personally don't like this, I think it brings us back to Mix-ins and (possibly) looses some of th

Re: Do I need "has $.foo;" for accessor-only virtual attributes?

2005-07-22 Thread Stevan Little
Larry, On Jul 21, 2005, at 8:07 PM, Larry Wall wrote: On Thu, Jul 21, 2005 at 05:15:34PM -0400, Stevan Little wrote: : This means that Roles are now first-class-ish things. Meaning they : cannot just simply be composed into classes since now we have to keep a : table of elements which are

Re: Do I need "has $.foo;" for accessor-only virtual attributes?

2005-07-22 Thread Stevan Little
Brent, On Jul 22, 2005, at 3:53 AM, Brent 'Dax' Royal-Gordon wrote: (If not this, I at least would like to see a way to make roles and/or class extensions optionally merge their namespace with the class they're being composed into; a simple 'is merged' on the role/extension's definition might do

Re: Do I need "has $.foo;" for accessor-only virtual attributes?

2005-07-24 Thread Stevan Little
On Jul 24, 2005, at 2:40 AM, Sam Vilain wrote: Stevan Little wrote: Yes, we have. One thing to consider is that it is much easier to get the "Role order doesn't matter" thing when they are composed. Once you start keeping the roles around, you run into the possiblity for such

Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-08 Thread Stevan Little
Hello All, Since autrijus is now busy porting the P5 metamodel prototype into Haskell for use in Pugs, I have decided to begin work on documenting the Perl6::MetaModel prototype modules more thoroughly. The first step I see in this is to define a Meta Object Protocol (aka - the stuff you can

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-08 Thread Stevan Little
Mark, On Aug 8, 2005, at 4:26 PM, Mark Reed wrote: Coming in late here, but it seems odd to have an actual class called "MetaClass". The meta-object protocols with which I am familiar have the concept of a metaclass (a class whose instances are themselves classes), and the class Class is su

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-08 Thread Stevan Little
objects be the invocants for class methods, and the MetaClass objects be the invocants for the methods defined by the meta-object protocol, we are avoiding any namespace clashes. Anyway, just wanted to add that :) - Stevan On Aug 8, 2005, at 5:49 PM, Stevan Little wrote: Mark, On Aug 8, 2005

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-09 Thread Stevan Little
Guten Tag Herr Sandlaß, On Aug 9, 2005, at 4:48 AM, TSa (Thomas Sandlaß) wrote: HaloO, Stevan Little wrote: Here is a 10,000 ft view of the metamodel prototype I sketched out the other day (http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel/docs/ 10_000_ft_view.pod). It should shed a

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-09 Thread Stevan Little
Stuart, On Aug 9, 2005, at 9:25 AM, Stuart Cook wrote: Stevan, Up until today, I thought I had a good idea of how your metamodel works, but now I'm confused. My main sticking point is that a class Foo seems to have three different aspects: Foo class(Foo) meta(Foo) For each of these, could yo

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-09 Thread Stevan Little
On Aug 9, 2005, at 12:36 PM, TSa wrote: HaloO Stevan, you wrote: Guten Tag Herr Sandlaß, you know that a formal German greeting in a collequial environment can be interpreted as unfriendly? I don't do that but just wanted to state the fact. My apologies, no unfriendliness intended :) The

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-09 Thread Stevan Little
On Aug 9, 2005, at 10:52 AM, TSa wrote: ~ Foo ~ Is a type that variables etc. can be declared to have Is not an object => I'm really not sure about this... Bare Foo is a namespace lookup. Yes, TSa is right. Everything below this is Type-stuff and I will leave that to him (up until the Met

$object.meta.isa(?) redux

2005-08-09 Thread Stevan Little
Howdy, I wanted to make sure this question had a chance to get addressed, so I am seperating it from the other thread which has digressed into the depths of the metamodel (much to my delight too). So..., as described in the other thread, the following statements are true about the metamodel.

$obj.meta.add_method('foo' => ???)

2005-08-09 Thread Stevan Little
More MOP related questions :) In the p5 MetaModel, you can do the following: $obj->meta->add_method('foo' => Perl6::Method->create_instance_method(sub { ... })); $obj->meta->add_method('foo' => Perl6::Method->create_class_method(sub { ... })); $obj->meta->add_method('foo' => Perl6::Method->cre

Re: $object.meta.isa(?) redux

2005-08-09 Thread Stevan Little
Larry, On Aug 9, 2005, at 6:18 PM, Larry Wall wrote: : Personally I am not a fan of the 'is_a' name, I just did it one day, : and it sort of stuck. Well, hey, I'm not a fan of the "isa" name, so I guess we're even. fair enough :) : But I do think we need to find a way to : differentiate bet

Re: Perl 6 Meta Object Protocols and $object.meta.isa(?)

2005-08-09 Thread Stevan Little
Larry, On Aug 9, 2005, at 7:19 PM, Larry Wall wrote: : >So far, this is what I have picked up; some/most of it is probably : >wrong: : > : >~ Foo ~ : >Is a type that variables etc. can be declared to have : : That is one way to look at it I suppose. The reality is that there will : be no actua

scopes of $?SELF and $?CLASS

2005-08-17 Thread Stevan Little
Hello all, I tried to search for this answer in AES12, but I did not see anything, and a perl6.lang search just brought up the whole $_.method vs. ./method debate (which was too much to shlog through). So, onto my question, I am wondering what are the valid scopes for $?SELF and $?CLASS. A

Re: scopes of $?SELF and $?CLASS

2005-08-17 Thread Stevan Little
On Aug 17, 2005, at 2:28 PM, Ingo Blechschmidt wrote: Hi, Stevan Little wrote: So, onto my question, I am wondering what are the valid scopes for $?SELF and $?CLASS. Are these (magical) globals who only have bound values in certain contexts? If that is so, what value do they have outside of

Re: scopes of $?SELF and $?CLASS

2005-08-17 Thread Stevan Little
Larry, On Aug 17, 2005, at 2:53 PM, Larry Wall wrote: : As for submethods, I see them like this: : : submethod foo () { ... } : : is really .. : : submethod foo () { : next METHOD unless $?SELF ~~ $?CLASS; : } : : At least that is how larry explained to me about a month ago. Can't use ~~

Packages, Modules and Classes

2005-09-06 Thread Stevan Little
Hey all, I recently added Package and Module into the MetaModel (2.0) so that Package is an Object Module is a Package Class is a Module as mentioned here http://article.gmane.org/gmane.comp.lang.perl.perl6.language/4599. Currently Packages have names and Modules add version and auth

Re: Packages, Modules and Classes

2005-09-07 Thread Stevan Little
Larry, On Sep 7, 2005, at 11:46 AM, Larry Wall wrote: : I base this off the AUTO* hooks described in : S10. I assume too that the METH slot is only valid for Classes, and not : appropriate for Packages and Modules. All those entries are based on the notion of intuiting from the first characte

Re: Packages, Modules and Classes

2005-09-07 Thread Stevan Little
Larry, On Sep 7, 2005, at 12:45 PM, Larry Wall wrote: : >All sigils and twigils are part of the key to the symbol table, so it's : >now just : > : >Foo<$.baz> : : What would Foo<$.baz> return though (assuming Foo is a class)? It : cannot return a value since it is an instance specific value

Re: Packages, Modules and Classes

2005-09-08 Thread Stevan Little
Larry, On Sep 8, 2005, at 2:30 PM, Larry Wall wrote: On Wed, Sep 07, 2005 at 03:00:29PM -0400, Stevan Little wrote: : Also, is there anyway to iterate over the keys in the namespace? The : old way would be to do something like keys(%Foo::). Is something like : this possible with the new way

Re: Packages, Modules and Classes

2005-09-08 Thread Stevan Little
Larry, On Sep 8, 2005, at 5:07 PM, Larry Wall wrote: On Thu, Sep 08, 2005 at 04:52:52PM -0400, Stevan Little wrote: : But what if I want to do this? : : class Foo { : my %:stuff; : method keys (Class $c:) { : %:stuff.keys(); : } : } : : How can I get at my

Regarding Roles and $?ROLE

2005-09-10 Thread Stevan Little
Hello all. I have some questions about how Roles will behave in certain instances, and when/where/what $?ROLE should be bound too. 1) Given this example, where 'bar' is a method stub (no implementation) role Foo { method bar { ... } } Should the eventually implemented method still have

Re: Regarding Roles and $?ROLE

2005-09-11 Thread Stevan Little
> From: Luke Palmer <[EMAIL PROTECTED]> >On 9/11/05, Stevan Little <[EMAIL PROTECTED]> wrote: >> Hello all. >> >> I have some questions about how Roles will behave in certain >> instances, and when/where/what $?ROLE should be bound too. >> >&g

Object Model Pictures

2005-09-12 Thread Stevan Little
Hello again. In my never ending quest to implement the Perl 6 object model, I have started drawing pictures. Here is the latest version: http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel2.0/docs/ p6_object_model.jpg (and for OmniGraffle users: http://svn.openfoundry.org/pugs/perl5/ Pe

Re: Object Model Pictures

2005-09-20 Thread Stevan Little
On Sep 12, 2005, at 3:56 PM, Nathan Gray wrote: Yep, someone needs to make a diagram about Roles, too. Here yah go. http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel2.0/docs/ p6_role_model.jpg I am planning on making Roles self-bootstrapping, so the class(Role) will actually be the

Re: Object Model Pictures

2005-09-21 Thread Stevan Little
Nathan, On Sep 21, 2005, at 9:02 AM, Nathan Gray wrote: On Tue, Sep 20, 2005 at 08:16:23PM -0400, Stevan Little wrote: http://svn.openfoundry.org/pugs/perl5/Perl6-MetaModel2.0/docs/ p6_role_model.jpg I am planning on making Roles self-bootstrapping, so the class(Role) will actually be the

  1   2   3   >