pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
mncharity TimToady: trait_auxiliary:is currently takes an <ident><postcircumfix>? . so 'class A is B::C {}' doesn't parse. intentional? 00:09
00:10 Limbic_Region left 00:14 justatheory joined 00:15 SubStack joined
TimToady hmm, well, we have to be able to derive from classes with :: in the name... 00:18
so we need to parse <name> somehow in those cases 00:19
mncharity np. can workaround it. 00:22
tnx :) 00:24
pugs_svnbot r20253 | lwall++ | trait_auxiliary:is should look for <name>, mncharity++ for noticing
diff: dev.pugscode.org/changeset/20253
lambdabot Title: Changeset 20253 - Pugs - Trac
00:26 muixirt2 joined 00:27 muixirt2 left 00:31 zakame_ is now known as zakame, armagad_ left 00:43 Muixirt left 00:58 zonkers_ joined 01:00 perlbot joined
mncharity "extends 'X';" to "use base 'X';" to "{no strict;unshift(@ISA,'X')}". blech. 01:05
to "{no strict;CORE::unshift(@ISA,'X')}". :/ 01:07
01:14 ting joined 01:15 felipe joined
mncharity and back to "use base". the motivating problem is one wants to be able to "is X :and_use_its_methods_in_preference_to_any_we_already_have". 01:17
01:18 meppl left 01:21 armagad joined 01:35 armagad left 01:50 Foke2 left 01:51 zakame left
mncharity tries to remember what the official rule for deciding whether {...} is a block or a hash... 01:52
01:55 zakame joined 01:57 thoughtpolice joined 02:06 zonkers_ left 02:09 armagad joined 02:13 FurnaceBoy joined 02:18 zakame_ joined 02:21 zakame left, ruoso left
pugs_svnbot r20254 | putter++ | [elf_d] Multiple 'is Foo' now work (rather than each deleting the previous one). 02:36
diff: dev.pugscode.org/changeset/20254
lambdabot Title: Changeset 20254 - Pugs - Trac
02:40 wtgee joined
pugs_svnbot r20255 | putter++ | [elf_e] elf_e forked from elf_d. Needed working 'is Foo'. Expected focus is using IR analysis to clean up the emitted runtime. 02:48
diff: dev.pugscode.org/changeset/20255
lambdabot Title: Changeset 20255 - Pugs - Trac 02:49
02:52 xdg joined
mncharity I'm not entirely happy with having to start elf_e already, but oh well. 02:59
pugs_svnbot r20256 | putter++ | [elf_e] Two files missing from r20255.
diff: dev.pugscode.org/changeset/20256
lambdabot Title: Changeset 20256 - Pugs - Trac
mncharity next step, real GLOBAL's, and no more "all subs are global" kludge. 03:00
03:02 meppl joined
mncharity good night all & 03:12
pugs_svnbot r20257 | putter++ | misc/elfish_smop: Smop emitter for elf. A very limited start, but recently neglected, and so checked in.
diff: dev.pugscode.org/changeset/20257
lambdabot Title: Changeset 20257 - Pugs - Trac
03:13 mncharity left 03:14 zakame_ left 03:23 peepsalot left 03:24 peepsalot joined, peepsalot left 03:25 peepsalot joined 03:38 alester joined 04:18 iblechbot joined 04:38 iblechbot left 04:52 alc joined 05:07 FurnaceBoy left 05:08 Psyche^ joined 05:09 kanru joined 05:13 thoughtpolice left 05:22 alester left 05:24 Patterner left, Psyche^ is now known as Patterner 05:37 meppl left 05:47 iblechbot joined 06:07 wtgee left 06:15 elmex joined 06:26 justatheory left 06:41 sri_work joined 06:43 cmarcelo left 06:47 iblechbot left 07:16 IllvilJa left 07:42 agentzh joined 07:52 c9s joined 08:04 alanhaggai joined 08:38 IllvilJa joined 08:39 qmole joined 08:41 alanhaggai__ joined 08:55 alanhaggai left 09:06 gbarr left 09:27 ruoso joined 09:55 Schwern joined 10:06 alc left 10:12 iblechbot joined 10:25 zac joined, Schwern left 10:53 syle joined 10:56 zac left 11:05 alanhaggai__ is now known as alanhaggai 11:11 meppl joined 11:49 sri_work left 11:55 bbkr joined 12:02 meppl left 12:03 meppl joined 12:13 alanhaggai left 12:20 alanhaggai joined 12:29 rdice joined 12:39 IllvilJa left 13:19 alanhaggai__ joined 13:20 alanhaggai__ left 13:32 yves is now known as yvesago 13:34 alanhaggai left 13:56 TJCRI joined 13:58 alester joined 14:06 cmarcelo joined 14:09 chris2 joined 14:23 sscaffidi joined 15:00 IllvilJa joined 15:23 kcwu joined 15:42 peeps[work] joined 15:53 pen1 joined 15:57 armagad left 16:16 armagad joined 16:20 xdg left, xdg joined 16:25 wtgee joined 16:26 meppl left 16:33 ludan joined 16:44 Jedai left 16:54 wtgee left 16:55 eternaleye_ left 16:56 ludan left, wtgee joined 16:57 wtgee left 16:58 wtgee joined, wtgee left, wtgee joined 17:01 wtgee left 17:03 wtgee joined 17:07 Schwern joined, pen1 left 17:17 Schwern left 17:20 pen1 joined 17:22 gbarr joined, lisppaste3 joined 17:26 rindolf joined 17:31 eternaleye_ joined 17:36 BinGOs left 17:37 syle left 17:38 BinGOs joined 17:39 justatheory joined 17:48 sscaffidi left 17:49 wtgee left, peepsalot left 18:06 peepsalot joined 18:07 mj41 joined 18:13 sscaffidi joined 18:25 sri_work joined 18:28 ruoso left 18:29 barney joined 18:30 justatheory left 18:49 pmurias joined 18:50 rdice left
pmurias @tell mncharity you can use CORE::unshift(our @ISA,'X') instead of use strict 18:50
lambdabot Consider it noted.
pmurias @tell mncharity s/use strict/no strict/ 18:51
lambdabot Consider it noted.
18:51 smtms joined 18:55 sscaffidi_ joined 18:56 sscaffidi left 18:57 rdice joined 19:05 araujo joined
pmurias @tell based on the commits you seem to have stayed with the Moose version of the perl5 backend, why? isn't the none-Moose version much faster on your machine also? 19:10
lambdabot Consider it noted.
19:17 justatheory joined
[particle1 *phew* that was a long mail to write 19:19
19:19 [particle1 is now known as [particle] 19:21 Lorn left 19:25 ofer joined 19:26 ofer left 19:32 Lorn joined 19:37 ruoso joined 19:40 mncharity joined
mncharity hi pmurias 19:40
lambdabot mncharity: You have 2 new messages. '/msg lambdabot @messages' to read them.
mncharity /msg lambdabot @messages
/msg lambdabot @messages 19:41
/msg lambdabot @messages 19:42
/msg lambdabot @messages 19:43
[particle] you have to delete a leading character
mncharity getting very odd behavior. sometimes having to remove and retype not just / but /m else fail. and thrice got a no nick lambdabot. wierd. 19:44
pmurias: re our @ISA, nifty. :) now just have to figure out how to say it in p6. :) for both classes and roles. 19:46
pmurias: re non-Moose speed, good question. will check. need to first unbreak elf_e. a rather startling number of bugs and release errors got together to pretend to work, while not really. 19:48
19:50 pen1 left
mncharity oky, speed... 19:54
pugs_svnbot r20258 | putter++ | [elf_e] Further clean up r20255/r20256. Now IRx1_Analysis is actually run.
diff: dev.pugscode.org/changeset/20258
lambdabot Title: Changeset 20258 - Pugs - Trac
pmurias mncharity: hi 19:55
mncharity: adding a superclass in p6 would use the .HOW 19:56
mncharity "adding a superclass in p6 would use the .HOW"? 20:00
pmurias mncharity: i understood you asked how to do it at runtime? 20:01
mncharity re speed, wizzzzzzy. With cached parse, elf_d self-compiles for me in 2.5 vs 9.5 seconds with NoMoose.
pmurias sort of ::Foo.HOW.add_parent(::Bar.HOW) 20:02
mncharity re 'at runtime', ah, sorry, no. Wondering how to say ' is Foo :and_put_it_at_the_head_not_tail_of_inheritance_and_dont_complain_about_overrides_because_thats_what_Im_using_it_for;'
if class A { is B; is C; } results in a search path A,B,C, then one also wants a class A { is B; is_first C } which results in a A,C,B 20:05
and something similar with does(), but which doesn't complain if the role overrides the definitions in other does()ed roles. 20:06
these may be in the Snn, haven't looked yet. todo.
pmurias class A { BEGIN { B.HOW.methods.unshift(C.HOW) } } 20:07
mncharity :)
pmurias (not directly speced) ;) 20:08
mncharity .methods ?
i'd have expected an "isa" something.
pmurias sorry 20:10
looking up more correctly
it's isa
mncharity ah, ok 20:11
pmurias i think perl6 uses C3 inheritance
mncharity that's my fuzzy recollection 20:12
*very fuzzy
pmurias what do you need it for in p6? 20:13
pugs_svnbot r20259 | putter++ | misc/elf/elf_d_src/README: Added a ElfD_NoMoose.pm bootstrap recipe. 20:14
diff: dev.pugscode.org/changeset/20259
lambdabot Title: Changeset 20259 - Pugs - Trac
[particle] perl 6 is C3 by default
pmurias mncharity: what do you mean by real GLOBAL? 20:15
AFAIK the stuff in the prelude just gets imported into the current lexical scope at the start of the file 20:16
mncharity $*x should emit as $GLOBAL::x or somesuch, but doesn't at present.
pmurias ok 20:17
mncharity currently emits as $x, and the prelude says "our $x", and we cross our fingers that no one has said "my $x" in between. kludge.
pmurias what stops it from being implemented 20:18
?
mncharity now, nothing. but needed to have IR analysis in place. 20:20
pmurias why?
$*x is always $GLOBAL::x 20:21
mncharity because p5 apparently doesn't have a way to define globals, so since you can't tell if the variable you are looking at is global or not... . fine for explicit $*x. not so great for foo(3). is &foo a my sub foo? a &*foo? can't tell
pmurias p5 dosn't have lexical subs 20:22
but if you do $x, perl will check if it's a lexical or package scoped $x 20:23
TimToady in p5 all lexical subs have to be stored in "my $subref"
mncharity when emitting say(3), you have to emit different code if that's referring to &*say, or referring to some sub declared in package, or some lexical sub.
pmurias &*say is lexical 20:24
i mean in say "foo", &say is lexical
TimToady yes, so called "global" subs are imported into the lexical scope by the prelude 20:25
you don't have to look in *
mncharity for a prelude say, in p5 it's "GLOBAL::say(3)". for "class A { sub say($x){}...}" it's "say(3);". for "{ my sub say($x){}; ...}" it's "$code_say->(3)". 20:26
pmurias mncharity: for class { sub say($x) {} } it's also $code_say or say will be visible as a method 20:27
mncharity so when emitting "say(3)", you have to have groveled over the IR to determine where that say is coming from.
re "visible as a method", hmm. sigh. point. 20:28
TimToady in class A it's just "our" instead of "my"
but still looks lexical from the call
mncharity re "you don't have to look in *", module NotInPrelude { sub *g(){3}; } ... module SomewhereElse { ... say g(); ... }. no? 20:33
20:33 penk joined
pmurias is it possible to declare a lexical var from within a use'ed module? 20:34
TimToady mncharity: not under "use strict"; "no strict" has a failover to GLOBAL
but that just means adding it as the multi candidate 20:35
s/the/the last/
strict code is now required to import to omit the *; why %ENV no longer works, but %*ENV does 20:37
see S11: use GLOBAL <$IN $OUT $ERR>;
mncharity re "lexical var from within a use'ed", dunno. as long as its use'ed at compile time, it seems at least vaguely feasible
ah 20:38
TimToady it's a matter of keeping control over the exact semantics under stricture
we can't have someone changing our language by adding things to GLOBAL 20:39
TimToady oversimplifies, of course...
mncharity re "we can't have someone changing our language by adding things to GLOBAL", err, why not? :)
TimToady because audreyt said so, so there! 20:40
mncharity lol
TimToady just one of the many revelations of the pugs effort
mncharity /me reminds meself that the mission of elf is to be a hack, one which enables others to comfortably write hackish p6 code to create a real p6 compiler, and is not(with emphasis) trying to be a real compiler itself. 20:44
TimToady empathizes 20:46
mncharity very slippery slope. "sinking sensation"(especially complexity induced) => "slipping down slope" => "you left the path again, didn't you?" :) 20:49
pmurias: re Moose, 20:51
I failed earlier to sketch the following for stevan_, and so may simply be confused, but 20:52
my impression is "Moose has put a lot of work into assorted features"; "as we go forward, we'll wan't more features"; "so the key question isn't what set of Moose features are being used now"; "but what set of Moose features we may want to use soon"; "and how much work is saved by using the Moose versions, rather than rolling our own"; "but I'm unclear on 20:56
what that set looks like".
for illustrative example, say the absence of default values for has() variables gets annoying. will it be easier to use the Mooseish version (assuming we can), or to implement it? 20:58
PerlJam mncharity: the former certainly. 20:59
21:00 justatheory left 21:01 Foke2 joined
mncharity or say elf_e starts trying to do something like "[] is autoboxed as package ARRAY, which claims to be class Array. There's also a package Array, and both inherit from a non-spec Array::Role ." or some such. basically, if we want to start doing roles, it might be easier to just do whatever Moose does with them, at least for elf, than trying to do something new. 21:01
so I end up torn. speed++, easy_development++, tradeoff. 21:02
stevan_ mncharity: use ruby :P
or better yet,.. rails
PerlJam mncharity: I thought you just said that elf wasn't trying to be a "real" compiler? In that light, you go with easy development. (Assuming that's what you think Moose is :) 21:03
stevan_ mncharity: you might want to look at Coat,.. it is a mini-moose,. that is mostly upwards compat
mncharity maybe refactor EmitSimple and EmitNoMoose, so everything which is shared can just be inherited, and we can keep both running
s/can/can easily/
PerlJam: re real, indeed. perhaps I should have said "easier development because of shorter edit-test loop" vs "easier development because less code needs to be written (modulo that code may not quite do what you would ideally have preferred)". 21:06
re "Coat", lol. looking...
pmurias speed is very important at least for me if it fall below a certain treshhold i procrastinate too much
mncharity me too 21:07
oh, I meant to add a note to README to emphasize setting STD_RED_CACHEDIR if you are doing a lot of bootstrap compilation. much nicer not to pay any parse cost. 21:08
stevan_ careful of the whole premature optimization stuff,.. Parrot is only now just recovering from the damage it caused
but YMMV
pmurias stevan_: kp6 demonstrates the oposite pitfall
stevan_ anyway.. Coat is pretty good, I worked with it's author to keep things reasonably close to Moose
jrockway stevan_: but now the parrot object system is ... less than desierable
21:08 rdice left
mncharity re "premature optimization", "amen". :) 21:09
stevan_ pmurias: with Moose, we went for correctness first, and optimization second,.. and we are still a little slow, but the optimizations are coming in big leaps now
like 30 lines of XS and we were 45% less slow
mncharity the caveat being, when performance is actually one of your design objectives, then it needs to be watched like any other. and if it is a/the critical one, then it needs to be focused on early and often.
stevan_ agreed 21:10
21:10 Auzon joined
jrockway if i were implementing perl6 right now, i would not give a fuck about performance :) 21:10
that is the easy part
stevan_ mncharity: why not try and write this in OCaml or something? 21:11
PerlJam jrockway: wait ... what's wrong with parrot's object system?
stevan_ fast and nice for writing compilers with
mncharity re 30 lines, yes. the risk is it turning out those lines happen not to exist, because of some architecture decision made long ago, and now entwined throughout the system.
TimToady on the other hand, if you're designing Perl 6, you have to give lots of fucks about all the things your implementors are going to ignore until it's too late :)
stevan_ mncharity: my personal experince has always been that those entwined issues tend to be made in the cause of optimization more than anything else 21:12
optimizations and death-march schedules
but again, YMMV
mncharity re 'why not write in OCaml or something', the "yet another dead p6 implementation" problem. 21:13
TimToady there are many ways to design one's self into a corner...
stevan_ :)
TimToady: so true
21:13 alester left
PerlJam TimToady: and then you design away the corner :) 21:13
stevan_ PerlJam: then where will you stand ?? :P 21:14
TimToady well, you at least try to spot the corners in advance, and then declare "it can be proven that...", and go back to sleep.
mncharity re "those entwined issues tend to be made in the cause of optimization more than anything else", lol. :) hmm, not sure my experience matches. but certainly a leading cause.
PerlJam stevan_: in the middle of perl 6 somewhere ("you're in a maze of twisty passages, all alike" :-) 21:15
stevan_ :)
mncharity that's my model for software engineering in general
stevan_ maze of twisty passages all alike?
pmurias stevan_: i thought of OCaml before
stevan_ pmurias: and? 21:16
[particle] uses a grue language
stevan_ its like Haskell but without all the annoying Monads
TimToady he said "it can be proven" and then fell back asleep
stevan_ :)
mncharity re "maze of twisty passages all alike?", yeah. big maze of a heat sink, glowing white as it dissipates immense societal resources.
21:16 barney left
pmurias stevan_: i'll look it after my end of highschool exams 21:17
PerlJam jrockway: so, again, ... what's wrong with parrot's object model? If it's "less than desirable", it should be modified to be more desirable.
stevan_ decreases the morphine drip on TimToady's IV,,. maybe you wont nod out as often :)
TimToady I feel pretty dissipated myself at times...
pmurias s/look it/look into it/
stevan_ pmurias: SML is also worth a look, using MLTon is can be faster than OCaml
elmex there are waaaaay too many metaphors used for a 'technical' discussion about compiler/language implementation techniques. 21:18
mncharity ocaml could be a neat backend target. just not a lot of ocaml hackers around here now, so using it rather than bootstrap+p5 seemed likely to result in pugs-on-haskell^Hocaml - far less featureful, but similarly inactive.
stevan_ well perl5 is not a language for writing compilers in (no offense TimToady ) 21:19
but ocaml is
and ocaml is easier to learn and use then Haskell
again, see comment about annoying monads
21:19 sscaffidi_ left
mncharity so is p6 :) # a language for writing compilers in 21:19
stevan_ ocaml doesnt get in your way when you want to do something simple but impure
mncharity: true, we should use that then :P 21:20
TimToady I'm trying...
stevan_ :)
elmex isn't the general rule of thumb: the one who does the works decides what he uses?
TimToady that's fine until you try to get someone else to do your work
stevan_ always,.. but the other rule of thumb is that everyone has an opinion as to why his choice is wrong
stevan_ is an armchair-compiler-writer :P 21:21
never done it, but dammit, I know the best way to do it and its not how $you are doing it
TimToady pictures white-hot armchairs...
mncharity re impure, true, but you still hit the "I really want to just do x. it would be so simple in another language. i'm sorry you can't type it, but... that's really not something I want to be concerned with right now. can I pay you to ignore it by accepting lower performance? no? pretty please...?" 21:22
stevan_ mncharity: yes, and p6 will solve this problem,.. once you write it :P 21:23
stevan_ looks around,.. hmm this is very familair we have been here before
mncharity "maze of twisty little passages... all alike"
stevan_ :)
TimToady you should have dropped your dagger
mncharity and repeated revisited
stevan_ meta-circular-meta-circularity++ 21:24
21:24 justatheory joined
pmurias mncharity: re elf goal you want it to be the thing the first p6 version to be written in or something which could evolve into a real compiler? 21:24
TimToady postfix:<++> fails to find the appropriate multi
stevan_ TimToady: your using the wrong compiler :P 21:25
TimToady obviously some form of Lisp, or those would be underscores instead... 21:26
mncharity re dagger, wouldn't help. the passages are full of the detritus of dead projects. corpses, broken tools, etc. even if it's a memorable dagger, well, everything gets covered in bit rot too. 21:27
TimToady reverse polish Lisp maybe
stevan_ TimToady: no, thats the subtraction operators,.. I overladed 'em
[particle] everyone wants the paren
PerlJam hands [particle] a bowl of oatmeal 21:28
21:29 armagad left, armagad joined
stevan_ excuse me waiter, there are fingernails in my oatmeal 21:29
TimToady have a ] too, that'll fix everything 21:30
stevan_ but you keep hogging the colon
mncharity re elf goal, there really isn't a single elf. it's more an incremental exercise in "we have a hack p6 implementation, that we are using to compile the p6 code for a hack p6 implementation. what aspect of hackiness is annoying us most today. fix it. iterate." 21:32
21:32 armagad left
PerlJam mncharity: Hacks all the way down doesn't quite work the same as if it were turtles. 21:32
mncharity s/fix it/make it no-longer-the-most-annoying-thing/
TimToady (by breaking something else worse, in my case, ususally) 21:33
mncharity logo also has the "yet another dead p6 implementation problem".
TimToady to sleep, perchance to dream
mncharity re breaking, yeah. so far not much in the way of regressions. but also don't have rich p6 prelude yet. 21:34
dreams of turtles
TimToady this conversation is going all the way downhill fast
mncharity don't worry, while the shells are slippery, there's another bigger turtle underneath 21:35
PerlJam TimToady: gravity prevents us from going partway downhill. 21:36
[particle] doesn't believe in gravity
mncharity PerlJam: more seriously, "Hacks all the way down" is indeed something to avoid. elf is attempting to address it by not having very little down. elf_x can always compile itself, into an executable whose only dependency is the external parser, and CPAN modules. 21:37
[particle] my god, are you at elf_x already?
pmurias elf_e
mncharity LOL
[particle] :)
TimToady STD5 is also trying to have very little down, for a very large single dose of "little" 21:38
mncharity oy, good laugh. [particle]: danke. :) 21:39
PerlJam TimToady: broad but shallow?
pmurias mncharity: compiling into a directory of compiled modules wouldn't be much less convinient ;) 21:40
TimToady conceptually very simple. Just do whatever it takes to machine translate STD.pm into a perfect-enough Perl 6 compiler to compile STD.pm as is.
but that implies longest token matching works right 21:41
and all the syntax category multimethod stuff
and the derived languages
pmurias sleep&
21:41 pmurias left
TimToady and figuring out what a derived language is anyway.. 21:42
is the inside of q/.../ a different language than the inside of q!...! ?
how does the language inside know its terminators? 21:43
along with any escapes?
PerlJam TimToady: The "story of longest token matching" strikes me as something that would make a good article for one of the perl mags (bits or dead trees both), if ever you have a hankering to write about it :)
mncharity re "much less convinient", :) i have trouble keeping track of bootstrap dependencies when compiling is a single step which creates a single stand-alone file. don't have the neurons for much additional complexity.
[particle] timtoady: make it an introspectable property of the compiler
PerlJam [particle]: which compiler? :) 21:44
[particle]: or, how do you know which compiler to ask?
TimToady it's determined by the dynamic scope of the parse
so more like a context var
but the interaction of terminators with LTM is problematic because of that dynamic nature
you can't just recalculate different token tables because the set of terminators changed 21:45
[particle] malformed input in nested languages is difficult
mncharity /me was recently puzzling over the easiest way to get a parse of the regex. yare, or kp6, or rakudo, oh my.
21:46 sri_work left
mncharity oh, or STD_red of course 21:46
21:49 TJCRI left 21:57 iblechbot left 22:04 aindilis left 22:05 aindilis joined, elmex left 22:08 stevan_ left
pugs_svnbot r20260 | putter++ | elf_d_src/EmitNoMooseP5_fromIRx1.pm: Update from EmitSimpleP5_fromIRx1.pm. 22:11
diff: dev.pugscode.org/changeset/20260
lambdabot Title: Changeset 20260 - Pugs - Trac
22:24 stevan_ joined 22:29 Jedai joined 22:30 cmarcelo left 22:35 peeps[work] left
pasteling "mncharity" at 71.232.7.10 pasted "a Moose error on 5.8.8. Works on 5.10.0." (16 lines, 3.3K) at sial.org/pbot/30791 22:36
mncharity stevan_: ^^ fyi. both are Moose 0.40. 22:37
22:39 Limbic_Region joined
mncharity but it may result from my not using extends() 22:41
22:42 eternaleye_ left
mncharity no, that's not it. :/ 22:47
22:50 wknight8111 joined
mncharity ah, ok. now have a failure case which fails on both. progress. :) 22:53
22:54 thestarslookdown joined 23:08 wtgee joined
mncharity stevan_: fyi... the first, isa() problem is undiagnosed. but probably my giving bogus extends() arguments. perhaps a leading Moose::Object. a second issue is more easily replicated: 23:15
elf_d_src]$ perl -we '{package A;use Moose;sub f{print 3}}{package B;use Moose; extends qw(A);}A->f;B->f;' works
elf_d_src]$ perl -we '{package A;use Moose;sub f{print 3}}{package B;use Moose; extends qw(::A);}A->f;B->f;' doesn't work.
failing with Can't call method "can" without a package or object reference at /usr/lib/perl5/site_perl/5.8.8/Moose/Meta/Class.pm line 278.
23:22 thoughtpolice joined 23:26 Auzon left
mncharity oh, and perl -we '{package A;sub f{print 3}}{package B;@ISA=qw(::A);}A->f;B->f;' works of course. thus the issue. 23:27
23:29 justatheory left 23:32 eternaleye_ joined 23:34 thoughtpolice left, thoughtpolice joined 23:47 Auzon joined