pugs.blogs.com/dist/Perl6-Pugs-6.2.13.tar.gz released! | run.pugscode.org | spec.pugscode.org | paste: sial.org/pbot/perl6 | pugs.blogs.com
Set by audreyt on 17 October 2006.
00:10 thepler joined 00:34 SCalimlim joined 00:50 ferreira joined 01:12 hexmode joined 01:20 mjk joined 01:21 mauke joined 01:24 f0rth joined 01:25 seano joined 01:29 jarich left 01:39 mauke_ joined 01:45 jferrero joined 01:54 justatheory joined, nothingmuch joined 01:58 weinig joined 02:03 nipotaway is now known as nipotan 02:18 mako132_ joined 02:37 weinig is now known as weinig|zZz 02:49 Pomin joined 03:06 araujo joined 03:36 nusgnaf joined 03:59 xern_ joined 04:41 penk joined
clkao audreyt: william.cswiz.org/blog/archives/200...ng-events/ # sadly, no mention to perl at all 04:59
lambdabot Title: William’s Blog » Blog Archive » 幾則關於動態型別語言的事件, tinyurl.com/yfg7z7
05:15 BooK_ joined 05:25 [particle] joined 05:29 SubStack joined 06:34 Captain_Fourier left 06:38 iblechbot joined 06:47 marmic joined
Debolaz Hmm, why was it decided that perl 6 should be more sensitive to whitespace? 07:02
07:19 ditto joined 07:31 pmurias joined
gugod if I print a scalar ref returned from perl5, it gives me a SCALAR(0x20b9d04). How to let it print the referent ? 08:00
lambdabot gugod: You have 1 new message. '/msg lambdabot @messages' to read it.
08:05 clyde joined 08:08 araujo joined
dmq if $foo is a scalar reference then you dereference it by saying $$foo 08:13
or by saying ${$foo}
08:15 elmex joined
gugod right, I though so, but pugs doesn't seem to know that 08:17
my $a = eval('\42', :lang<perl5>); say $a,$a
say $a, $$a
theri output are the same 08:18
08:22 drrho joined, kensanata joined
dmq er, and what happens if you eval '\\42' and not '\42'? 08:33
does pugs have the same string semantics as perl5? is '\42' the same as '\\42' ? 08:34
gugod in pugs yes, '\\42' eq '\42' is true 08:45
08:45 clsung joined 08:47 ruoso joined 08:54 ozayam joined 09:04 dakkar joined 09:21 jferrero joined 09:37 buetow joined
drrho is away: watching kommissar Rex 09:42
10:04 TimToady joined 10:14 ditto joined
TimToady @tell Debolaz whitespace is discussed at S02:227 or thereabouts. The short answer is consistent parsing of postfix operators, both known and unknown. 10:17
lambdabot Consider it noted.
TimToady zzz & 10:18
10:20 andara joined 10:31 nekokak joined 10:53 polettix joined 11:00 lichtkind joined, Odin-LAP joined
lichtkind audreyt will there be future version of perl6::bible or you looking for new maintainer? 11:01
audreyt lichtkind: docs/Perl6/ should be packed up and released to cpan 11:08
perl6::bible should disappear from cpan once Perl6-Doc/ is uplaoded
lichtkind: are you willing to clean it up a bit, make sure p6doc is working, and upload?
lichtkind audreyt willing yes but currently dont have time to do so, currently have several project and yesterday just began to write again on tutorial adding the new stuff with captures and some smatmatch additions 11:09
audreyt do you have a CPAN ID? curiously I can't seem to find you in AUTHORS...
oh of course you do. it's just it's not in AUTHORS 11:10
lichtkind audreyt of course lichtkind
audreyt there is currently a new attempt for unificated translated perldoc wich i also interested in + the new german perlcast + i never did author anything on cpan + my new soduko game written in wxperl but beside of that it attracts me :) 11:12
audreyt ok, you are now comaint of Perl6::Doc 11:13
svnbot6 r14530 | audreyt++ | * Add LICHTKIND to AUTHORS
audreyt please make release whenever you feel lik :)
11:13 ditto left 11:14 xinming_ joined
lichtkind audreyt you mean perl6::Doc :) 11:16
audreyt well, I think I mean Perl6::Doc
lichtkind haha 11:17
audreyt sorry that i dindt mad much last weeks i had to help out family 11:19
audreyt that's just fine :) I didn't hack on Pugs as much in the last 3 days either... 11:20
but we did make comet (server-pushed event with publish/subscription) on Jifty work happily 11:21
and that's all thanks to Perl6 for being a great prototype language!
(I prototyped in Pugs and then hand-ported to perl5. once v6.pm has better "idiomatic output" the handport stage can go away)
sleep a bit more, bbiab... 11:23
11:27 fglock joined
lichtkind good night audrey 11:27
11:29 Psyche^ joined 11:46 Psyche^ is now known as Patterner 11:47 nipotan is now known as nipotaway 11:56 kensanata joined 12:03 Limbic_Region joined 12:13 pnu joined 12:20 pnu joined 12:26 pnu joined 12:29 nusgnaf joined 12:32 pnu joined 12:51 thepler joined 12:56 fglock joined
nothingmuch audreyt: ping 13:01
lambdabot nothingmuch: You have 1 new message. '/msg lambdabot @messages' to read it.
nothingmuch @moosages
lambdabot cmarcelo said 1d 13h 6m 38s ago: just commited more bits on moh, take a look to see where I'm having trouble understanding MO. I'll be back in about 2hr.
nothingmuch ah right
@seen cmarcelo
lambdabot I saw cmarcelo leaving #perl6 1d 3h 2m 20s ago, and .
nothingmuch bleh ;-)
13:02 iblechbot joined 13:12 Limbic_Region joined 13:20 polettix is now known as bond 13:22 bond is now known as polettix 13:42 chris2 joined 13:59 rlb3 joined 14:02 ruoso joined, cmarcelo joined
cmarcelo nothingmuch: ping 14:07
nothingmuch cmarcelo: ah!
finally we're awake at the same time
ik wanted to talk with you about Class, IORefs/STrefs etc 14:08
cmarcelo ok :) 14:11
nothingmuch do you know [of] purely functional object oriented programming? 14:12
www.ccs.neu.edu/home/matthias/Prese...op2004.pdf # short and sweet 14:13
lambdabot tinyurl.com/y42fgq
nothingmuch essentially MO is a functional OO system
meta classes with IORefs etc should be inverted before computation
to keep the meta code simple
inverted == traverse the meta class object tree, and map all all fields so that they are IORef x -> IO x 14:14
and then return back an IO MetaclassTree
instead of a IOMetaclassTree or something like that 14:15
so, to KISS - simply ignore the need for IORefs right now, we'll glue them in like this when we actually need a rewritable meta model in pugsland
maybe we can use functional reactive programming techniques to let the meta model recomputation happen "automatically" 14:16
cmarcelo hmm.. going to read about Fun OO then :).. about IORef I think I was worried about designing for this rewritable model. but agree on keep it simple. 14:22
nothingmuch we don't really need to 14:23
we can just naively recompute it for starters
the whole thing
and worry about optimizing later 14:24
the reason i don't wnat to be too clever up front is the whole target/origin schism
sub objects are collected in the first pass
and then compiled
any related meta object (presumably the whole tree) changing might invalidate some seemingly unrelated computations 14:25
for example if some class overrides the 'id' method
first time ever
and 'id' is inherited from the Object class
then all the dispatch code that was previously allowed to assume 'id' can be statically dispatched must now be rewritten to make it a virtual dispatch
it's not that we need to statically dispatch at all (we can make it all virtual dispatch) 14:26
but MO is designed to allow static dispatch in it's protocol, and the dependency graph for revalidating that is just too large and too implementation specific to handle it within MO itself
(it's the compiler toolchain that's reusing MO that's responsible for triggerring recomputations) 14:27
cmarcelo also, I'm a little bit blind on some concepts of MOP. specially applied to our case. for example, a method definition would be a piece of AST or p6 code or backend code? will it be desugared by MO, e.g., will replace method calls with proper MO calls?
nothingmuch ah
this is just what i'm dealing with npow
let me take my dog for a walk
while you read up on FO
i'll be back in 20-30 mins
and we can discuss the emitter 14:28
maybe you can help me out too =)
the emitter is not as scary as it sounds though ;-)
sounds good?
cmarcelo hmm.. lets do it in ~ 1h30 from now, my lunch time begins around 20-30 mins :o) 14:29
nothingmuch okay 14:30
deal
18:00 my time
oh goody
nothingmuch forgot he promised to help someone restore her disk
i would have had to disappeaer in about 30 minutes anyway ;-)
ttyl
cmarcelo ok 14:31
14:35 lichtkind joined 14:38 hexmode joined 14:46 weinig|zZz is now known as weinig, jabbot joined 14:54 [particle] joined 14:58 pfenwick joined 15:01 gaal joined 15:21 rindolf joined
rindolf Hi all. 15:21
PerlJam hello rindolf :-) 15:28
What brings you to #perl6 today?
nothingmuch www.haskell.org/yampa/AFPLectureNotes.pdf 15:30
great article
lambdabot tinyurl.com/y5xjat
nothingmuch cmarcelo: esp. for you =)
cmarcelo nothingmuch: i'm back 15:37
nothingmuch yo 15:38
my mum's colleague (that needs rescuing) is late
so we have some time
rindolf PerlJam: nothing in particular. 15:40
miyagawa_: here?
I read miyagawa_'s presentation slides about Plagger now. 15:41
miyagawa_ hi
rindolf: plagger.org/trac/wiki/PlaggerPresentations
lambdabot Title: PlaggerPresentations - Plagger - Trac, tinyurl.com/y4nnwd
rindolf Hi miyagawa_ 15:42
miyagawa_: I read the one you gave to YAPC::EU::2006
miyagawa_ yep
cmarcelo nothingmuch: (did you read fglock questyions about MO on logs yesterday/daybefore?) 15:43
nothingmuch nope
i didn't see any
maybe i forgot to set /away
can you summarize shortly? or should I go log digging?
15:44 justatheory joined
cmarcelo nothingmuch: colabti.de/irclogger/irclogger_log/...l=130#l273 15:44
lambdabot Title: #perl6 2006-10-24,Tue, tinyurl.com/yev396
nothingmuch ah
mo is orthogonal to ASTs 15:45
Method::Compiled == the closest thing to a Code there is
but it has no iomplications on runtime semantics
MO will at best provide the runtime with a responder interface full of these
the Method::* classes are responsible for generating/fetching them
there are two possibilities:
MO is just a pass through -- the input is predefined (Method::Simple carries around a 'definition' attr, which is just a Method::Compiled, presumably parsed from the class definition. This is an AST) 15:46
MO is a generator -- constructors and accessors must be generated
the latter is the problem i'm currently working on
as for speed - MO is potentially compile time only 15:47
and it gives the various meta objects enough data at the right time to violate encapsulation safely 15:48
15:48 buetow joined
nothingmuch for example, type unboxing, accessor inlining, etc 15:48
fglock: please backlog =) 15:49
as for serialzing - the idea is that the meta object is compiled down tto responder interfaces
and then the responder interfaces are stripped of extra data
(like the meta class that generated them)
and these are cache
d
probably serialized as a .pm
using Data::Dump::Streamer
cmarcelo but, the AST fragment inside M::C will probably call some method of something, so it will call MO again for resolving it. So isnt MO needed runtime (if we dont want to mess with AST fragments) ?
nothingmuch M::C in this context? 15:50
cmarcelo method::compiled
nothingmuch ah
there's two approaches
one is to use the "native" dispatch vocabulary
for example, compiling a MO::ResponderInterface::MethodTable into a perl 5 symbol table
and uspporing only Invocation::Method 15:51
using the ->
that subset of mo's meta lingo is isomorphic with perl's (With some additional hacks... more on that in a bit)
this is compiled MO
interpreted MO is creating invocations etc at runti e
and using the native dispatch vocabulary to talk with the meta objects only 15:52
in a purely interpreted MO environment we can't self host
currently i have a purely interpreted environment in perl 5
i'm working on a compiled environment in perl 5
does that clarify? 15:53
cmarcelo a little. the idea is, having a OO program, parse it, create MO-land structures, compile it (emit) into p5 code and use this code. (thinking only about Compiled MO).. right? 15:56
nothingmuch: in pugs, then, the compiled mo(h) would emit AST types? 16:09
fglock nothingmuch: backlogging
16:13 ozayam joined 16:18 andara left 16:19 cjeris joined
nothingmuch cmarcelo: yes 16:19
cmarcelo: i think that moh should not be pugs specific
it should be more like a library 16:20
that pugs can load up
and say give it a meta class where it creates e.g. Method::Pugs-ish that is a hs data type that has an instance of the type class for mo methods
then MO does it's computations
and returns responder interfaces
with the Method::Pugs-ish redirected to the right places 16:21
16:21 dmq joined
nothingmuch sorry, phone 16:23
anyway, for pugs it's now simpler to use the results, which are flattenned
without having to implement a pugs meta model
PerlJam Are we going to have LARRY and CURLY to go along with MO? 16:24
Well, I guess we already have Larry.
nothingmuch no, h 16:25
that's too much to type =)
okay, i have to go 16:26
hd stuff
cmarcelo nothingmuch: ok. some concepts are clearer now.. :) 16:27
nothingmuch: btw, if you have a good pdf/link on MOP (unfortunately I don't have access to the art of mop book), please tell me.. 16:28
16:32 amnesiac joined 16:33 weinig joined 16:36 nusgnaf left 16:37 araujo joined
svnbot6 r14531 | putter++ | Regexp/Engine/Reentrant - some very minor tweaks. 16:42
r14531 | putter++ | Development on hold pending exploration of Regexp::Parser::ReentrantEngine.
16:43 fglock joined 16:44 fglock joined
svnbot6 r14532 | putter++ | regexp_engine_cruft/regexp_engine_factory.pl - removed some very dead code to make file more readable. 16:45
16:52 putter joined 17:01 justatheory joined 17:13 fglock joined
putter fglock: ping? 17:15
svnbot6 r14533 | putter++ | Regexp-Parser-ReentrantEngine - created. A reentrant Perl 5 regexp engine.
r14533 | putter++ | This is an initial cleanup and module-ization of February's regexp engine spike.
r14533 | putter++ | Undocumented but simple api at bottom of ReentrantEngine.pm. Good coverage (23/961 of re_tests fail). Ok speed (a few seconds for re_tests). Untapped simple optimizations. Match class now non-spec. Capture code needs cleanup. Assorted bugs and needed cleanup remain.
r14533 | putter++ | My own objective is to use this module only in passing, obsoleting it RSN, as soon as I get a free day, by moving it off Regexp::Parser.
putter & 17:17
17:20 seano joined
Debolaz Is YAML available for perl6/pugs? 17:30
lambdabot Debolaz: You have 1 new message. '/msg lambdabot @messages' to read it.
nothingmuch cmarcelo: i haven't read the art of mop either... uh... my best suggestion is to get to know Class::MOP well
Debolaz: eval( :lang<yaml> ) 17:31
?eval eval( "---\nfoo: bar\ngorch: [ 1, 2 ]\n", :lang<yaml> )
evalbot_r14533 {("foo" => "bar"), ("gorch" => ["1", "2"])}
nothingmuch ?eval {foo => bar}.yaml
evalbot_r14533 Error: No compatible subroutine found: "&bar"
nothingmuch ?eval {foo => "bar"}.yaml
evalbot_r14533 "--- \n? foo\n: bar\n\n"
Debolaz Nifty. 17:32
nothingmuch cmarcelo: FWIW, MOP is implemented as a layer over MO
fglock putter: pong 17:35
18:00 FOAD joined 18:38 bernhard joined
TreyHarris nothingmuch: remind me, please, where the MO docs you've written are? 18:39
18:44 the_dormant_ joined
PerlJam Is there a log of this channel somewhere? 18:51
I seem to recall that there is but I can't remember everything :)
nothingmuch nothingmuch.woobling.org/MO/lib/MO/Overview.pod 18:54
lambdabot tinyurl.com/law9f
TreyHarris PerlJam: there is, and I searched it, but I typoed the date range and didn't come up with anything for 'MO'. i've had trouble with the logger search before so i thought it was just b0rken again. sorry 18:56
nothingmuch: thanks!
19:02 kjw joined, robotron joined
robotron hi, im trying to compile pugs on a dual p3 450mhz with 128mb ram 19:03
after "perl Makefile.PL" it seems to stuck in "Linking ./Setup ..."
TimToady how fast is your disk? you'll be thrashing it very heavily...
robotron cpu-usage is 0
TimToady ghc can bring a 512MB system to a near halt. 19:04
robotron hm, maybe 128mb is to weak 19:05
ld allocated 90% of memory
wilx Weak is too weak.
TimToady what's its virtual size compared to its resident set?
nothingmuch TreyHarris: sure thing 19:06
robotron johbar 29362 1.0 70.0 116796 88524 pts/2 D+ 20:50 0:10 /usr/bin/ld 19:07
nothingmuch TimToady: is there any value in "proposing" MO as the underlying metamodel for perl 6? 19:08
eviltwin_b state D. somehoe I'm not surprised
TimToady nothingmuch: well, if it ends up the only one sitting behind .HOW, then it would be de facto the underlying metamodel. But Perl 6 is itself agnostic about what goes behind .HOW. 19:10
nothingmuch why is that?
perl 6 comes with a notion of "a class", etc
TimToady perl 6 comes with the notation of a prototype, but the classiness is hidden behind .HOW 19:11
robotron eviltwin_b: i dont know what "D" means, but, what do u think? how long it will take to build pugs?
nothingmuch would expect it to be the other way around ;-)
TimToady certainly when you say class {...} you're depending on something standard to be there
robotron roundabout
eviltwin_b D = disk wait
nothingmuch meta model api != meta model impl 19:12
eviltwin_b the system is spending more time shuffling disk than doing actual work. (I'd suspect it's mostly swapping)
robotron ah yes, maybe
[particle] i don't think perl 6 hides it's classiness well enough
robotron i need more ram :)
nothingmuch there are also issues of e.g. role composition edge cases... are they defined as part of the language?
[particle]: think of it as a default 19:13
nobody knows it's not really classy
till they need to do something nonclassy
[particle] perl 5 on the other hand...
TimToady robotron: let's put it this way, it'd probably be faster to go out and get more ram, put it in, and restart, than to wait for it to finish.
nothingmuch robotron: the best intermediate solution is probably to ask Juerd for an account on feather
TimToady: i was ambiguous before, i realized now 19:15
MO comes with two things
one is not really perl 6 related
but is usable in a perl 6 toolchain
(the runtime model, etc)
the other [much more interesting] component [for perl 6] is a reference implementation of the class behaviors 19:16
this targets the first component, and models the ooish things in S*
it's ~~ Class::MOP
well, not true... it's 1/2 of Class::MOP 19:17
Class::MOP also does part 1, but might stop doing that in the future ;-)
TimToady I guess I'm not sure what you mean by "part of the language" 19:18
nothingmuch my point is, can class Foo { ... } result in two different behaviors (even subtly different) of a Foo object, in a perl 6 runtime?
TimToady depends on whether the metaclass that gets assigned to every .HOW at construction time allows for it.
nothingmuch where ... is any valid class definition in perl 6 19:19
without an explicit meta class declaration in the source code defining Foo
e.g. by the compiler
to rephrase technically, the metaclass role that all metaclasses must adhere to
TimToady in general I think people will use different declarators if they want a different metaclass, syntactically speaking. 19:20
we don't have to shove everything through the "class" keyword
just as we have a "role" keyword
nothingmuch *nod
when i said class i meant all of these, tbh
nothingmuch tries a third approach 19:21
in "the" perl 6 test suite
will there be meta class unit testss
that a metaclass author can run their metaclass against?
TimToady that's...a good question 19:22
nothingmuch ... what i meant to propose, in that sense, is the document that specifies what behaviors that test suite should check for
TimToady it's more of a metametaclass question, if we're talking about plugglable metaclasses. 19:23
nothingmuch metameta is my favourute prefix lately 19:24
TimToady I don't pretend to be an expert on mops, but I would like there to be a good default, with the ability to swap out the default. The syntax/semantics/api that surrounds that is certainly still negotiable, as long as it degenerates to something like what we currently have in the "simple" cases.
PerlJam almost mistakes us for a culture of doubling for emphasis ;)
nothingmuch i want that default swappable too... hence mo =) 19:25
thge notioin of wtf is a method or invocant is also pluggable
part 1 of MO is precisely the part that it simplifies down to
TimToady sure, that's why I've notionally tried to sweep everything under the abstract .HOW carpet. 19:26
nothingmuch =)
i think the answer is "not yet" ;-)
TimToady what we want to avoid at all costs is to make mere mortals gaze upon the elder gods...
nothingmuch the reason i asked is that this will let me talk about crap that MO let me do as if Perl 6 can let me do them
who fills in the roles of mere mortals and elder gods? 19:27
are we the mere mortals?
or future perl 6 users?
TimToady it is my job to stand in for the future less-than-brilliant users of Perl 6. You don't qualify in the less-than-brilliant department, I'm afraid. :) 19:28
nothingmuch elder gods == clos? 19:29
TimToady cthulhu and friends. things with metameta-tenacles. 19:31
nothingmuch decides that TimToady is intentionally confusing him and goes to the shower instead ;-) 19:32
since you mentioned defacto earlier, i guess it's fair enough to say that what MO can do Pelr 6 can do
oh btw, i have a draft of role composable/inheritable attribute grammars 19:33
which IMHO give much more value than "traditional' ones
TimToady cool
nothingmuch do you guys have tree processing sugar yet?
because what I dealt with was mostly semantics
TimToady mostly, we have sigs/rules inside sigs/rules 19:34
but they aren't reversible quite, I don't think...
nothingmuch ah
the impl i have discovers parents by introspecting objects on the dynamic stack 19:35
TimToady but we can certainly do recursive pattern matching sigwise.
nothingmuch and lazily evaluates / memoizes the attrs as method calls in a private namespace
they are cached per AG instance
so the aspect of sujgar for inheriting an attr to a specific child 19:36
in some perl 6 ish collection type is sidestepped
at a runtime cost and overall hackishness
in practice there are benefits though
in that child/parent relationships are not very strict 19:37
but anymoose, shower time
hopefully the ideas are compatible
TimToady I would like to see the tree rewriting abilities of Perl 6 to be sufficient to generalize into, say, parrot-land so they don't have to define their own tree-rewriting language
lunchtime for me...
nothingmuch what i drew up is more traditional AGs
which are simply in the host language 19:38
but the "declarative" sugar becomes imperative
which is easier to deal with but harder to validate
TimToady luqui did something like that a year or so ago...
nothingmuch yeah
the attempt is partly based on his code
but the evaluation strategy is more relaxed
and there's composition
TimToady then went off into his "theories", which I'd still like to capture some notions from.
but maybe not for 6.0, unless they're on the critical path. 19:39
PerlJam "tree-rewriting" sounds like TGE somewhat
nothingmuch TGE == AGs + sugar in my brain
sugar for moving bits around
unless it's only value rewriting
TimToady @Larry called it tree-rewriting before TGE was started
lambdabot Maybe you meant: arr yarr
nothingmuch (the tree has the same shape)
TimToady but reversibility is important for some uses 19:40
nothingmuch err, i meant tree rewriting sounds like sugar over attribute grammar semantics
aye
"once a rocket goes up who cares if iti can be brought down with a full fuel tank, that's not my department" ;-) 19:41
TimToady and I realized when working on P5 madprops that reversibility is precisely what I dropped on the floor in the original design.
when you lie to yourself, you darn well better remember that you're lying to yourself... 19:42
nothingmuch had that sometimes
lying to others
and believing it myself
so that it had become lying to myself and forgetting unintentionally
mostly related to excuses/alibies at school
TimToady it's an easy trap, and we all fall into it. 19:43
nothingmuch tries to lie to himself about being clean, but it doesn't work ;-)
TimToady that's why you want friends that will yell at you occasionally.
nothingmuch =)
stevan__: you hear that? 19:44
sorry, obscure ref
anymoose, really shower &
*poof*
19:50 frankg joined
clkao audreyt: our flight is canceled. rerouting 20:02
audreyt wow 20:06
20:07 Cugel joined
TreyHarris clkao: flight where, to seattle? 20:09
[particle] trey, audrey, i don't think i can make it tomorrow :( 20:10
TreyHarris ?eval class A { has $.moose = 42 }; class B does A { has $.yak = 96 }; my B $foo .= new; [$foo.yak, $foo.moose] 20:11
evalbot_r14533 [96, undef]
TreyHarris ?eval class A { has $.moose = 42 }; class B is A { has $.yak = 96 }; my B $foo .= new; [$foo.yak, $foo.moose] 20:12
evalbot_r14533 [96, undef]
TreyHarris are both of these correct, neither, or one?
clkao TreyHarris: to bos. rerouted to sfo
TreyHarris [particle]: bummer!
clkao: ahh
audreyt TreyHarris: neither 20:16
20:17 kjw left
TreyHarris audreyt: both should output [96, 42]? 20:17
ok. so what is the practical difference between C<class Klass is Klass1> and C<class Klass does Klass1>?
audreyt there's no SUPER:: in the latter. 20:19
"next METHOD" doesn't dispatch upwards.
you get conflicts when you "does" two things that are incompatible.
there's only one instance-slot storage instead of two, one for parent and one for children. 20:20
(the last point is probably invisible to the general user)
TreyHarris right... for some reason i construed the lack of SUPER:: and next METHOD as meaning that $.moose shouldn't work in B does A above... because there's no moose in B, so it would have to go to the next method for moose, which it can't do 20:22
audreyt there is moose; it's directly mixed in
TreyHarris ah, but if you overrode moose, you'd lose the ability to refer to A's moose in the C<B does A> case? 20:23
audreyt that is exactly correct.
TreyHarris ok. i think i need to have running code to play with role-as-class and class-as-role to really get it gelled in my head
does Moose do this yet? 20:24
hm
audreyt try MO/MOH
20:25 TimToady joined
TreyHarris huh, the OAD says that "overrode" was correct there. i was about to s/overrode/overrided/. regularization strikes again... 20:26
TreyHarris wanders off to meetings
thanks audreyt!
audreyt no prob. I'm implementing default initializer inheritance/mixin now 20:28
let's see how long it takes...
20:30 amnesiac_ joined, amnesiac_ is now known as amnesiac
audreyt ..done. :) 20:33
TreyHarris audreyt: did you commit? oh, have we moved from openfoundry? maybe that's my problem 20:35
TimToady no, she just hasn't committed yet, as far as I know. 20:37
audreyt it took a while to get thorugh 'sall. 20:38
TimToady she has this terrible tendency to test her work...
svnbot6 r14534 | audreyt++ | * Pugs.Prim: Attribute initializers now carries through to derived classes:
r14534 | audreyt++ | class C { has $.x = 9 };
r14534 | audreyt++ | class D is C;
r14534 | audreyt++ | D.new.x; # 9
r14534 | audreyt++ | Same applies for "does".
TreyHarris TimToady: *grin* yes, but from my observation, when she says "done" or "fixed", that's usually the point at which she commits having already tested 20:39
TreyHarris really heads to his meeting now 20:40
audreyt continues cleaning up IPC::PubSub for the eventual backport to ext/ 20:44
svnbot6 r14535 | audreyt++ | * inheritance.t: More tests about inheriting initialiizers
20:45 the_dormant_ joined 21:01 Limbic_Region joined 21:10 avar joined 21:54 jojo left 22:04 penk joined 22:08 frederico joined, ferreira joined 22:12 Daveman joined 22:20 Aankhen`` joined 22:22 jferrero joined 22:44 c6rbon joined
TimToady might or might not have something to do with upgrading to Fedora Core 6, but my smokes seem to be running 20-30% slower than a few days ago. 22:55
TreyHarris TimToady: mine on osx are too, and i haven't upgraded anything 22:56
22:56 dduncan joined
dduncan fyi, have a look at www.ohloh.net/ , particularly www.ohloh.net/projects/3300 (Pugs) 22:57
lambdabot Title: Ohloh Home Page
dduncan I heard about that open source project indexing site right when it was starting up, a few months ago, and submitted Pugs to it
now I look back, and the latter url shows they paid attention and are following Pugs 22:58
curiously, it lists audreyt et al as mainly C/C++ developers rather than Haskell ... maybe that's a result of shoehorning
I didn't explicitly submit Parrot, and it isn't shown directly (under that name), though the "Ruby compiler project" that targets it shows up 23:00
TimToady their analyzer doesn't appear to recognize Haskell. 23:01
dduncan so, the project cost calculator says it would take $2.7 milllion dollars to recreate Pugs
TimToady I wonder if their analyzer counts interspersed content as part of the PHP linecount.
dduncan I don't know
23:01 awwaiid joined 23:07 cjeris left
dduncan come to think of it, perhaps my "consider this for inclusion" submission of a few months back wasn't what got it on the list ... the history page shows adamk as manually adding it 4 days ago 23:08
but whatever, nice to see it there 23:09
eviltwin_b hm. so, before I shoot myself in the foot: is it somehow expected that some of parrot's selftests core (SIGBUS) on OSX 10.4.8? 23:19
eviltwin_b suddenly does not have great confidence in this machine --- first dports blew up, now that it's supposedly fixed parrot is not happy and the pugs release was also a little shaky-seeming 23:20
was going to try building parrot support into svn pugs, but somehow I think this is not a wise move now 23:21
TreyHarris eviltwin_b: i have sporadically seen sigbus's from various pugs and parrot operations for many months now, though only on PPC. my intel box does not display that behavior nearly as often (though i think it might still happen ocassionally). generally speaking, running the exact some code again will make mysteriously fix it (maybe after a couple tries) 23:22
eviltwin_b so far it's been pretty repeatable :( 23:23
I'll just skip parrot support for now.
pugs hasn't been coring, my initial build had unexpected test failure but rebuilding dports seemed to fix it mostly so now I'm trying from svn 23:24
except that pugs seemed to think that I hadn'
t installed some stuff in my existing perl5 that I had --- which might again be dports' fault
(unlike freebsd ports it will happily overwrite someting you cpanned in)
TreyHarris hmmm... interesting. i haven't up till now seen any pattern in the code that does that, but i now wonder if it's possible that it was code with regexen (since i was using parrot for regexes until recently) 23:26
dduncan: it looks to me from some poking around like that website doesn't know haskell exists and somehow thinks haskell code looks like C++
dduncan I hear that 23:28
on a separate note, I'm trying to use the latest CPANPLUS to install v6.pm, but it complains about a missing 'perlwrapper' ... this is probably a CPANPLUS problem and not a v6 problem, so I'm looking into it 23:30
eviltwin_b it sees the :: in type signatures and decides it's actually looking at classes? 23:33
(probably a trivial heuristic-based analyzer) 23:34
TimToady or maybe it decides .hs is a variant of .h
23:40 SubStack joined
eviltwin_b hmph. poke at some of the optionl dependencies I chased down... greencard uses a deprecated interface. 23:50
(which I should have remembered from last time I looked at it) 23:51
and darcs-1.0.8 looks like it might be using another deprecated interface (so I installed the 1.0.7 binary instead)
23:52 bcorn joined
eviltwin_b this should teach me not to play the "hm, optional dependency, maybe I should install it" game 23:54
23:54 thepler joined