Camelia, the Perl 6 bug

IRC log for #parrot, 2008-02-18

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
16:05 ilbot2 joined #parrot
16:12 svnbotl r25843 | particle++ | trunk:
16:12 svnbotl : [rakudo] allow subcalls like 'foo.()'
16:12 svnbotl r25844 | particle++ | trunk:
16:12 svnbotl : [rakudo] whitespace cleanup
16:12 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25844
16:14 Coke (run a pir file directly) ... you mean, not through parrot?
16:14 Coke you can compile the PIR to PBC and then use pbc_to_exe ...
16:33 Coke -> offline
16:33 Coke left #parrot
16:48 guru joined #parrot
16:56 rdice_ joined #parrot
17:08 bgeron joined #parrot
17:09 rdice joined #parrot
17:15 jmcadams joined #parrot
17:19 davidfetter joined #parrot
17:19 svnbotl r25845 | particle++ | trunk:
17:19 svnbotl : [config] remove duplicate entry from headerizer make target
17:19 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25845
17:23 parrot-poke joined #parrot
17:31 kid51 jmcadams:  I just re-built and re-made Parrot on Darwin.  With one exception, all of the tests that failed for you are passing for me.
17:33 kid51 Getting failure in t/examples/library.t.
17:34 jmcadams i did a distclean and am rerunning it all now
17:35 kid51 But t/examples/library.t failure is probably left-over from a lot of work that Coke was doing this weekend on tests of .pir files.
17:38 kid51 The file underlying the failure in library.t is examples/library/ncurses_life.pir.  AAMOF, Coke has got this marked as an expected failure.
17:40 TimToady @tell mncharity a heads-up: I'm moving the @fate parameter to the front of the arg list so that I can use the variadic part of the list to emulate named args under p5; can't also use variadic for @fate, so now it's a fixed arg
17:40 kj joined #parrot
17:41 TimToady sorry, wrong channel...
17:41 kid51 That's okay, TimToady.  Anytime you want to drop in ...
17:42 confound @tell? heh
17:43 TimToady lambdabot...
17:43 purl hmmm... lambdabot is on this network
17:49 confound yeah
17:49 confound purl, you are a dirty liar
17:49 purl ...but purl is going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or so stupid or a smartass...
17:52 cotto__ joined #parrot
17:56 davidfetter hello
17:56 * jonathan is happy to see particle++ hacking on Rakudo :-)
17:57 davidfetter having heard 1/2 of allison's talk, i was wondering about how to use parrot machinery in grammars for other things
17:57 davidfetter other things being my usual hobby elephant, postgres
17:58 davidfetter right now, pg uses flex and bison in a fairly byzantine fashion to do SQL
17:58 jonathan If you're embedding a Parrot, you'd be able to load PGE and run it to parse stuff.
17:58 davidfetter hrm
17:58 tewk PGE has gotta get a lot faster first :)
17:58 davidfetter pge?
17:58 purl pge is Parrot Grammar Engine, the regexp, er rule compiler or dealing with globs. or pacific gas & electric or (: pge park) or very smart in that it knows about bsr tailcalls or Portland General Electric
17:59 jonathan tewk: Yeah, tell me about it...building rakudo's action.pm takes a little while on my poor old laptop...
18:00 PerlJam Has anyone done any profiling to see where the bottlenecks are?
18:01 jonathan PerlJam: Not yet, but it would be a Good Idea.
18:01 jonathan Well, I'm not *aware* that anyone has, anyway.
18:01 jonathan Somebody may have but I never saw the results.
18:02 PerlJam yeah, even if whoever did the profiling doesn't have time to work on optimizing, it would at least give others the right places to look if they want to.
18:02 jonathan I think part of it is that PGE hasn't been hugely optimized yet, but I suspect Parrot slowness may well be part of it too.
18:02 particle even simple optimizations haven't been done to pge yet
18:03 jonathan OK, PGE hasn't been at all optimized then. :-)
18:03 particle eg boyer-moore
18:03 jonathan Sure.
18:03 jonathan Well, get it working, then get it fast, and all that lot.
18:04 TimToady that's part of why I'm working on the longest-token matcher
18:04 particle TimToady: i'm curious as to what you need in order for that to work in rakudo
18:04 TimToady I'm sure pge is doing a lot of thrashing trying to match rules that can't possibly match
18:04 particle i know pugs' speed is slowing you down
18:04 PerlJam particle: BM is more of a parrot-optimization isn't it?  And in light of unicode, I don't think it's that simple :)
18:04 TimToady well, that's what I'm trying to figure out  :)
18:05 particle it's want() all over again!
18:05 TimToady BM is for when you're scanning through lots of text for something
18:05 TimToady not for lexers
18:05 TimToady lexers always just want to know the next thing
18:06 TimToady probably the main thing pge will need to do is to make a way to pass a "fate" down that tells a rule how it's going to match when we already know from the lexer
18:06 TimToady I basically already know how to autogenerate the lexer, plus a set of fates for a given set of alternatives
18:07 amoore joined #parrot
18:07 particle cool.
18:07 PerlJam TimToady: there you go again speaking some language that looks remarkably like english, yet I still don't understand it.  :)
18:08 TimToady what makes you think I understand it?  :)
18:08 PerlJam besides, aren't there some instance where PGE does do something akin to "scanning through lots of text for something"?  Like balanced quoting constructs and such?
18:11 jonathan TimToady: Sounds like some interesting work; I get the basic idea, though I'm happy to spare my brain the details. :-)
18:11 * jonathan needs to go shopping so he has stuff to cook for dinner
18:30 guru left #parrot
18:55 grim_fandango joined #parrot
19:03 TimToady PerlJam: even when you're scanning for a string terminator, it's usually just .*? followed by a lexer attempt for escapes
19:03 TimToady and escapes and the terminator are usually just single characters, for which BM does nothing
19:04 particle are there simple optimizations which you might suggest for pge?
19:05 TimToady I'm not familiar enough to know which optimizations it already tries
19:08 particle did you say trie? :)
19:11 jmcadams in t/perl/Parrot_IO.t i'm failing on a test:
19:11 jmcadams 161 $f = Parrot::IO::File->new( catfile( 'lib', 'Parrot', 'IO', 'File.pm' ) );
19:11 jmcadams 162 ok( $f->has_svn_id(), 'has_svn_id' );
19:12 jmcadams i'm pretty sure it's because I checked this out using git-svn
19:12 jmcadams any workarounds for this?
19:22 jrockway jmcadams: { no warnings; sub Parrot::IO::File::has_svn_id { 1 } }
19:22 jrockway :P
19:23 kid51 jmcadams:  If jrockway's fix works, can you file a [BUG] ticket on the problem with proposed solutions?
19:23 particle i'd like to refactor this token to remove recursion. ideas?   token pod_config { | <.ws> ':' <ident> | \n '=' <pod_config> }
19:23 kid51 I want our git-users to deal with these problems more.
19:24 * kid51 must get out of the house, at long last.
19:25 jmcadams jrockway: so, i see what you are doing... guess I need to do that when a '.git' file is present?
19:26 particle or create a has_git_id sub in Parrot::IO::File and also check for that
19:27 particle has_svn_id | has_git_id
19:27 jmcadams there isn't a git id that i know of?
19:27 jrockway i wouldn't stress myself out about the build system if i'm just hacking on some random part
19:27 jrockway Someone Else's Problem (tm) ;)
19:27 jmcadams of course, i'm fairly new to the git system
19:27 particle i don't know git, but there should be something to check for
19:27 jmcadams jrockway: i'm just randomly pushing buttons... no real goal
19:27 peeps[work] joined #parrot
19:28 jrockway git revision numbers are mostly meaningless
19:29 jrockway they're just the sha1sum of the current "commit" object
19:29 particle jmcadams: what do your source files say, on any line that starts with "$Id:"
19:29 jmcadams 2 # $Id$
19:29 particle ok, so they're not expanded
19:29 jmcadams yup
19:30 particle we need to skip that test (and possibly others) when the working copy isn't from svn
19:31 jmcadams what would be the best way to detect that?
19:31 jmcadams just a lack of .svn dirs everywhere?
19:32 particle Parrot::Config or Parrot::Distribution should provide a method to let you know if you're in an svn working copy
19:32 particle i don't know if there is one, but i think that parrot's configure process should store that info so it can be checked later
19:33 particle yeah, that method belongs in Parrot::Distribution
19:33 * jmcadams is looking
19:34 particle something like 'is_svn_co', 'is_git_co', or having 'co_type' return 'svn' or 'git'
19:41 PerlJam Why does parrot care if it's a subversion working copy?
19:42 PerlJam Just for the keyword expansion?
19:45 GeJ joined #parrot
19:45 particle some tests care
19:45 particle 'parrot' doesn't care.
19:46 jmcadams particle: is something like this what you were talking about:
19:46 jmcadams 161 SKIP:{
19:46 jmcadams 162     use Parrot::Distribution;
19:46 jmcadams 163     my $d = Parrot::Distribution->new();
19:46 jmcadams 164     skip 'This is not a subversion checkout', 1 unless $d->is_svn_co;
19:46 jmcadams 165     $f = Parrot::IO::File->new( catfile( 'lib', 'Parrot', 'IO', 'File.pm' ) );
19:46 jmcadams 166     ok( $f->has_svn_id(), 'has_svn_id' );
19:46 jmcadams 167 }
19:46 jmcadams the is_svn_co is just:
19:47 jmcadams 279 sub is_svn_co {
19:47 jmcadams 280     my $self = shift;
19:47 jmcadams 281     return $self->directory_exists_with_name('.svn');
19:47 jmcadams 282 }
19:47 particle jmcadams: looks like a good start. feel free to submit that as per docs/submissions.pod
19:47 jmcadams will do
19:47 jmcadams thanks
19:48 PerlJam A better is_svn_co test might be to run "svn info" and see if svn doesn't carp with '.' is not a working copy.
19:48 PerlJam (maybe)
19:49 jmcadams so shell out and run that?  i can give it a whirl
19:52 particle that'll fail if svn isn't installed
19:52 jmcadams yeah, i'm thinking that the wimpy 'is the dir there' method will catch most cases
19:59 davidfetter anybody here going to FOSDEM?
20:00 davidfetter or Lisbon.pm?
20:00 purl Lisbon.pm are going to give Perl training...
20:00 * davidfetter /kicks purl
20:07 svnbotl joined #parrot
20:11 silug joined #parrot
20:20 svnbotl r25851 | chromatic++ | trunk:
20:20 svnbotl : [IMCC] Don't try to load an HLL-support library for the PIR code:
20:20 svnbotl :     .HLL 'some_hll', ''
20:20 svnbotl : The strlen() call doesn't please me, but avoiding a string construction, file
20:20 svnbotl : access, and a warning if there's no file to load is nice.
20:20 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25851
20:37 Limbic_Region joined #parrot
20:57 jonathan davidfetter: Lisbon.pm as in the Portugese Perl Workshop?
21:01 davidfetter jonathan, it's lisbon perl mongers. i'm supposed to speak there next week :)
21:01 davidfetter http://lisbon.pm.org
21:02 davidfetter oops
21:02 davidfetter hrm. i'm wondering whether somebody pwnd that domain :/
21:04 gryphon_ joined #parrot
21:11 jonathan davidfetter: Aha, then no. I'm at the Ukrainian Perl Workshop on the day of FOSDEM, then going to the Dutch Perl Workshop afterwards.
21:19 jdv79 joined #parrot
21:28 svnbotl r25852 | chromatic++ | trunk:
21:28 svnbotl : [tools] Added #line directives to the files generated from JIT skeletons.  This
21:28 svnbotl : makes them much easier to debug.
21:28 svnbotl : Now we can correlate warnings and errors to the skeleton files themselves.
21:28 svnbotl : I also cleaned up the code slightly.
21:28 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25852
21:34 * Tene harasses someone to apply http://rt.perl.org/rt3/Publi​c/Bug/Display.html?id=50492
21:38 sjansen joined #parrot
21:39 Ademan joined #parrot
21:48 PacoLinux joined #parrot
21:53 svnbotl r25853 | particle++ | trunk:
21:53 svnbotl : [rakudo][perl6doc] extend perl6doc compiler
21:53 svnbotl : ~ add support for delimited, paragraph, and abbreviated block syntax
21:53 svnbotl : ~ add support for simple pod options (:foo only, not :foo<bar>, :foo(1), :!foo, etc)
21:53 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25853
21:53 DarkWolf84 joined #parrot
21:59 svnbotl r25854 | chromatic++ | trunk:
21:59 svnbotl : [src] Removed fail_if_exist(), as it's identical to fail_if_type_exists(),
21:59 svnbotl : which has a better name.  (RT #50644, reported by kjs).
21:59 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25854
22:02 TimToady joined #parrot
22:34 Coke joined #parrot
22:51 slightlyoff joined #parrot
23:07 svnbotl r25855 | chromatic++ | trunk:
23:07 svnbotl : [tools] Removed add_namespace() vtable entry from generated PMCs; this fixes
23:07 svnbotl : the breakage when registering a PMC generated this way reported by Allison in
23:07 svnbotl : RT #41310.
23:07 svnbotl : The generated files now get the proper copyright year and file footer too.
23:07 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25855
23:27 Coke (svnbot, you forgot the url!)
23:41 wknight8111 joined #parrot
23:51 svnbotl r25856 | coke++ | trunk:
23:51 svnbotl : [codingstd]
23:51 svnbotl : Generate the right year whenever the tool is run, not just this year.
23:51 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25856
23:58 svnbotl r25857 | chromatic++ | trunk:
23:58 svnbotl : [src] Implemented mark_object_cache() (RT #50648).
23:58 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25857

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced