Please test pre0: pugs.blogs.com/pre0/Perl6-Pugs-6.2.12.tar.gz | paste: sial.org/pbot/perl6 | pugs.blogs.com | pugscode.org | pugs.kwiki.org
Set by audreyt on 12 June 2006.
xpeed is away: cooking 00:15
nothingmuch xpeed: please make your client not announce /away publicly, it makes me think people are talking 00:22
thanks =)
xpeed ein? 00:38
with all respect, if tha disturbs you, ignore xpeed all :) 00:39
nothingmuch god damn irssi can't handle SIGWINCH 00:40
xpeed is back (gone 01:21:27) 01:36
drbean In Pugs::Compiler::Rule, $match->from has become package MyGrammar; 02:01
use Pugs::Compiler::Rule;
use base 'Pugs::Grammar::Base';
*rule = Pugs::Compiler::Rule->compile( '((.).).' )->code;
my $match = MyGrammar->rule( 'abc' );
Sorry. wrong paste.
meppl gute nacht
drbean $match->from has become ${$$match->{from}} 02:02
$match->to is now ${$$match->{to}} 02:03
Seems something is wrong with Runtime::Match::Ratchet. Overloading isn't working it seems. 02:07
If I use PRMR in my script, overloading is working. 02:10
"$match->[0]" returns 'ab' and "$match->[0][0]" returns 'a' as in the PCR manpage. 02:13
drbean If I replace 'use Pugs::Compiler::Rule' with 'use Pugs::Runtime::Match::Ratchet' it's OK too. 02:29
svnbot6 r10731 | cmarcelo++ | * Part of MapM is done, and Judy.Map is instantiating MapM 03:27
r10731 | cmarcelo++ | * Judy.Map value type now is "Refeable" (need a better name for this), this
r10731 | cmarcelo++ | class provides default implementation using StablePtrs, but Int, for example,
r10731 | cmarcelo++ | defines its own methods because an Int type fits in a Value. A strange bug
r10731 | cmarcelo++ | happens when try to define the default implementation: illegal instruction,
r10731 | cmarcelo++ | maybe is something about my arch (x86_64). But solved with a "dummy" workaround.
r10731 | cmarcelo++ | * First steps in Judy.Map finalizer, still not finalizing values (see comments).
r10731 | cmarcelo++ | * TestMap test core dumps if I do something very "memory intensive" and then
r10731 | cmarcelo++ | use HSIter functions, like "last $ take 1000000 [1..]" then testElems. For some
r10731 | cmarcelo++ | values it coredumps and for others it dumps "internal error" complaining about GC
r10731 | cmarcelo++ | having collected main thread (!).
cmarcelo audreyt: ping 05:56
gaal cmarcelo: she's on a long flight 06:41
cmarcelo i see, i just ping'ed because idle was in 16h and didn't knew how long was the flight =o).. 06:44
s/idle/her idle/ 06:45
gaal: what version of GHC do you use?
gaal cmarcelo: 6.4.1 11:58
svnbot6 r10732 | audreyt++ | * AUTHORS: Update the list somewhat and lookup CPAN names. 12:42
r10733 | audreyt++ | * t/rules: update "rule" to say "regex" when then mean "regex". 12:45
r10734 | audreyt++ | * MANIFEST.SKIP: Do not bundle perl5/ modules that are yet unused. 12:57
r10735 | audreyt++ | * Perl6-Grammar: Adjust for regex/token/rule change 13:03
r10736 | audreyt++ | * Support for rule/regex/token distinction in the ->PGE bridge.
gaal welcome home audreyt :) 13:13
audreyt hey :) 13:25
audreyt exhausted, though :) 13:25
20hr flight
the tree i back to all green 'cept for assign.t
going to finish the MS talk tomorrow _and_ roll another preflight 13:26
then take 11pm plane to the states
another 20hr travel
arrive at night, sleep, wake up and deliver the talk
miyagawa that's gonna be tough 13:27
obra :/
good luck
is ms flying you bizness class? ;)
audreyt sleep for another day, then Seattle.pm talk, then Galois talk the day after, then Portland.pm the day after
than YAPC::NA
nope ;)
obra aw
audreyt: I promise not to make you go to boston.pm
audreyt by the time I'm in boston the jetlag should be better 13:28
obra :)
audreyt g'nite folks :)
*crash* &
gaal :) 13:29
obra sleep tight
svnbot6 r10737 | benedikth++ | * catalog_tests.pl: uses now all test-files mentioned in tests.yaml; colors todo tests 17:01
r10737 | benedikth++ | * catalog_tmpl/* : minor changes, still too ugly
visq Hi 17:10
Are the hyperlinks in smoke.html indented to point into the test directories ? 17:11
If this was just preliminary, the could now (actually working) point to 17:12
catdir(t_index, $testfile =~ s/.t$/.html/) 17:13
So you have hyperlinks to *.t (and also cross-references to synopses) 17:15
gaal visq: doesn't that happen now? I'm looking at line 231 17:35
are you getting colored test lines correctly now? 17:36
visq yes, it works fine for me 17:37
Do your hyperlinks work without patching testgraph.pl ?
gaal then (a) cool and (b) I don't understand your question :)
visq I haven't commited the changes to testgraph.pl yet
Because I didn't know if it is fine to have the test htmls
in t_index/... 17:38
Just say "ok, that's sounds fine" ;) 17:40
gaal Sorry, I still don't understand, there *are* test htmls in t_index
However, I have to go, so do whatever looks correct :) 17:42
visq++
(source control)++
visq fine
gaal BTW for extra points: s/use YAML;/try to load YAML::Syck and fall back on YAML.pm/ for @well_everything 17:43
# faster
have fun :) &
CPAN module idea: Best.pm: synopsis: use Best => [ qw(YAML::Syck YAML) ] or use Best => [ [@modlist], @args ] 17:47
obra It'd only work if you had a compat API around them. 17:57
(Which we had to do for just that use case for a project here) 18:00
miyagawa Catalyst::View::JSON also deals with that 18:01
svnbot6 r10738 | benedikth++ | * smoke.html hyperlinks to tests-html generated by util/catalog_tests.pl should now work (except for skipped tests) 19:20
putter audreyt, etal: A while back I listed p6 namespaces. But missed one, as submethod x can coexist with sub x and method x. 20:10
Question - when both method x and submethod x are defined, what does o.x gives you the submethod ("A submethod is called only when a method call is dispatched directly to the current class. ". How does one call the method? By implication, there is some not-"directly" dispatch mechanism. 20:12
s/what does//
wolverian putter, (::Foo does C).x? :) 20:13
putter Oh, never mind the directly question. Inheritance. So, just 20:14
:)
so just the How does one call the method? question.
wolverian: hmm? given class A { method x(){2}; submethod x(){3}; method m(){self.x} } 20:16
A.new.m #=> 3
So the question is, how to get 2.
wolverian putter, class B is A { } B.new.x 20:17
putter And, hmm, yes, one could class A2 is A {}; my A2 $o2 = self as A2; $o2.m; maybe? 20:18
method m(){ my class A2 is A {}; my A2 $mutant_self = self; $mutant_self.x } maybe. eep. 20:19
wolverian (self as Whatever).x 20:20
or s/Whatever/*/ :)
putter Hmm. Actually, it seems submethod visiblity is normal. The class merely doesnt use them when handling dispatch inside of an inheritance chain. 20:22
And the dispatch table is associated with the object, well, it's meta, and thus not with the variable? So no variable typing games are going to help us here, no?
Ah, ok... 20:27
TimToady, etal: S12 says "A submethod is called only when a method call is dispatched directly to the current class.". Which in local context (discussing only method-like things) is ok. But in broader context is misleading, given than 20:30
S12 elsewhere (distantly) says "A subroutine call considers only visible subroutines (including submethods) of that name. There is no fail-over from subroutine to method dispatch.".
Hmm, oh, but that still doesn't solve our problem. As calling self.x gets you the submethod by default, being able to _also_ say x(self) to get the submethod doesn't help us here. :/ 20:32
wolverian: re "as Whatever", so the idea is on can wrap an existing object in a level of inheritance... that could be neat... ;) 20:34
s/on/one/
maybe even typesafe 20:35
putter lexical overriding of dispatch to keep up with ruby 2.0 20:35
ah, no. not lexical overriding of dispatch. only access via the variable is affected. so, eh. 20:37
putter Which all prompts the following random thought, 20:40
in a few places we have defined expansions for constructs, eg $.x is short for self.x . 20:41
has anyone pondered doing this more generally? eg, o.m is short for Perl6::method_dispatch(o,m) , and if someone defines my Perl6::method_dispatch(...){} in a block, dispatch can be arbitrarily weird there? 20:42
gaal obra: yes. which is precisely the case in YAML(?:::Syck)? :) 21:05
obra The APIs aren't identical, iirc 21:07
gaal For simple applications they are. It's unfortunate that there's no class method interface, because if there were you could do $yamlclass = eval { require YAML::Syck; "YAML::Syck" } || do { require YAML; "YAML" }; $yamlclass->Load() 21:24
zzzZ&
nothingmuch ingy: ping 21:58
ingy: slight bug in Module::Compile - the self validator doesn't delete a .pmc
wait 21:59
sorry, false alarm
nothingmuch--; # stupid
ingy hi nothingmuch 22:10
putter some quick thoughts which were eaten by network outage 22:44
As long is it comes the caveat that using such a MOP may cause non-graceful lexically-local performance degradation, it doesnt seem like there would be any more cost to this game, then the current "everything is defined in the prelude, and is overridable in p6".
(re Perl6::method_dispatch) 22:45
atomically { use Ruby::Syntax; use Ruby::Semantics; } p "worked" if 0 }()
but, no. that's not what atomically does.
do we have a construct that evaluates a bunch of potentially mutually interfering expressions separately, in the parent context, and then applies the resulting world change-set all at once?
eof