#parrot Parrot 0.5.2 Released | parrotcode.org/ | see www.parrotcode.org/misc/parrotsketch-logs/ for logs
Set by moderator on 11 February 2008.
16:05 ilbot2 joined
svnbotl r25843 | particle++ | trunk: 16:12
: [rakudo] allow subcalls like 'foo.()'
r25844 | particle++ | trunk:
: [rakudo] whitespace cleanup
diff: parrotvm.org/svn/parrot/revision/?rev=25844
Coke (run a pir file directly) ... you mean, not through parrot? 16:14
you can compile the PIR to PBC and then use pbc_to_exe ...
-> offline 16:33
16:33 Coke left 16:48 guru joined 16:56 rdice_ joined 17:08 bgeron joined 17:09 rdice joined 17:15 jmcadams joined 17:19 davidfetter joined
svnbotl r25845 | particle++ | trunk: 17:19
: [config] remove duplicate entry from headerizer make target
diff: parrotvm.org/svn/parrot/revision/?rev=25845
17:23 parrot-poke joined
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:31
Getting failure in t/examples/library.t. 17:33
jmcadams i did a distclean and am rerunning it all now 17:34
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:35
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:38
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
17:40 kj joined
TimToady sorry, wrong channel... 17:41
kid51 That's okay, TimToady. Anytime you want to drop in ...
confound @tell? heh 17:42
TimToady lambdabot... 17:43
purl hmmm... lambdabot is on this network
confound yeah 17:49
purl, you are a dirty liar
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
davidfetter hello 17:56
jonathan is happy to see particle++ hacking on Rakudo :-)
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
other things being my usual hobby elephant, postgres
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.
davidfetter hrm
tewk PGE has gotta get a lot faster first :)
davidfetter pge?
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
jonathan tewk: Yeah, tell me about it...building rakudo's action.pm takes a little while on my poor old laptop... 17:59
PerlJam Has anyone done any profiling to see where the bottlenecks are? 18:00
jonathan PerlJam: Not yet, but it would be a Good Idea. 18:01
Well, I'm not *aware* that anyone has, anyway.
Somebody may have but I never saw the results.
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.
particle even simple optimizations haven't been done to pge yet
jonathan OK, PGE hasn't been at all optimized then. :-) 18:03
particle eg boyer-moore
jonathan Sure.
Well, get it working, then get it fast, and all that lot.
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
TimToady I'm sure pge is doing a lot of thrashing trying to match rules that can't possibly match
particle i know pugs' speed is slowing you down
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 :)
TimToady well, that's what I'm trying to figure out :)
particle it's want() all over again! 18:05
TimToady BM is for when you're scanning through lots of text for something
not for lexers
lexers always just want to know the next thing
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
I basically already know how to autogenerate the lexer, plus a set of fates for a given set of alternatives
18:07 amoore joined
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. :)
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?
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 18:55 grim_fandango joined
TimToady PerlJam: even when you're scanning for a string terminator, it's usually just .*? followed by a lexer attempt for escapes 19:03
and escapes and the terminator are usually just single characters, for which BM does nothing
particle are there simple optimizations which you might suggest for pge? 19:04
TimToady I'm not familiar enough to know which optimizations it already tries 19:05
particle did you say trie? :) 19:08
jmcadams in t/perl/Parrot_IO.t i'm failing on a test: 19:11
161 $f = Parrot::IO::File->new( catfile( 'lib', 'Parrot', 'IO', 'File.pm' ) );
162 ok( $f->has_svn_id(), 'has_svn_id' );
i'm pretty sure it's because I checked this out using git-svn 19:12
any workarounds for this?
jrockway jmcadams: { no warnings; sub Parrot::IO::File::has_svn_id { 1 } } 19:22
:P
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> }
kid51 I want our git-users to deal with these problems more.
kid51 must get out of the house, at long last. 19:24
jmcadams jrockway: so, i see what you are doing... guess I need to do that when a '.git' file is present? 19:25
particle or create a has_git_id sub in Parrot::IO::File and also check for that 19:26
has_svn_id | has_git_id 19:27
jmcadams there isn't a git id that i know of?
jrockway i wouldn't stress myself out about the build system if i'm just hacking on some random part
Someone Else's Problem (tm) ;)
jmcadams of course, i'm fairly new to the git system
particle i don't know git, but there should be something to check for
jmcadams jrockway: i'm just randomly pushing buttons... no real goal
19:27 peeps[work] joined
jrockway git revision numbers are mostly meaningless 19:28
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:"
jmcadams 2 # $Id$
particle ok, so they're not expanded
jmcadams yup
particle we need to skip that test (and possibly others) when the working copy isn't from svn 19:30
jmcadams what would be the best way to detect that? 19:31
just a lack of .svn dirs everywhere?
particle Parrot::Config or Parrot::Distribution should provide a method to let you know if you're in an svn working copy 19:32
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
yeah, that method belongs in Parrot::Distribution 19:33
jmcadams is looking
particle something like 'is_svn_co', 'is_git_co', or having 'co_type' return 'svn' or 'git' 19:34
PerlJam Why does parrot care if it's a subversion working copy? 19:41
Just for the keyword expansion? 19:42
19:45 GeJ joined
particle some tests care 19:45
'parrot' doesn't care.
jmcadams particle: is something like this what you were talking about: 19:46
161 SKIP:{
162 use Parrot::Distribution;
163 my $d = Parrot::Distribution->new();
164 skip 'This is not a subversion checkout', 1 unless $d->is_svn_co;
165 $f = Parrot::IO::File->new( catfile( 'lib', 'Parrot', 'IO', 'File.pm' ) );
166 ok( $f->has_svn_id(), 'has_svn_id' );
167 }
the is_svn_co is just:
279 sub is_svn_co { 19:47
280 my $self = shift;
281 return $self->directory_exists_with_name('.svn');
282 }
particle jmcadams: looks like a good start. feel free to submit that as per docs/submissions.pod
jmcadams will do
thanks
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
(maybe)
jmcadams so shell out and run that? i can give it a whirl 19:49
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
davidfetter anybody here going to FOSDEM? 19:59
or Lisbon.pm? 20:00
purl Lisbon.pm are going to give Perl training...
davidfetter /kicks purl
20:07 svnbotl joined 20:11 silug joined
svnbotl r25851 | chromatic++ | trunk: 20:20
: [IMCC] Don't try to load an HLL-support library for the PIR code:
: .HLL 'some_hll', ''
: The strlen() call doesn't please me, but avoiding a string construction, file
: access, and a warning if there's no file to load is nice.
diff: parrotvm.org/svn/parrot/revision/?rev=25851
20:37 Limbic_Region joined
jonathan davidfetter: Lisbon.pm as in the Portugese Perl Workshop? 20:57
davidfetter jonathan, it's lisbon perl mongers. i'm supposed to speak there next week :) 21:01
lisbon.pm.org
oops 21:02
hrm. i'm wondering whether somebody pwnd that domain :/
21:04 gryphon_ joined
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:11
21:19 jdv79 joined
svnbotl r25852 | chromatic++ | trunk: 21:28
: [tools] Added #line directives to the files generated from JIT skeletons. This
: makes them much easier to debug.
: Now we can correlate warnings and errors to the skeleton files themselves.
: I also cleaned up the code slightly.
diff: parrotvm.org/svn/parrot/revision/?rev=25852
Tene harasses someone to apply rt.perl.org/rt3/Public/Bug/Display.html?id=50492 21:34
21:38 sjansen joined 21:39 Ademan joined 21:48 PacoLinux joined
svnbotl r25853 | particle++ | trunk: 21:53
: [rakudo][perl6doc] extend perl6doc compiler
: ~ add support for delimited, paragraph, and abbreviated block syntax
: ~ add support for simple pod options (:foo only, not :foo<bar>, :foo(1), :!foo, etc)
diff: parrotvm.org/svn/parrot/revision/?rev=25853
21:53 DarkWolf84 joined
svnbotl r25854 | chromatic++ | trunk: 21:59
: [src] Removed fail_if_exist(), as it's identical to fail_if_type_exists(),
: which has a better name. (RT #50644, reported by kjs).
diff: parrotvm.org/svn/parrot/revision/?rev=25854
22:02 TimToady joined 22:34 Coke joined 22:51 slightlyoff joined
svnbotl r25855 | chromatic++ | trunk: 23:07
: [tools] Removed add_namespace() vtable entry from generated PMCs; this fixes
: the breakage when registering a PMC generated this way reported by Allison in
: RT #41310.
: The generated files now get the proper copyright year and file footer too.
diff: parrotvm.org/svn/parrot/revision/?rev=25855
Coke (svnbot, you forgot the url!) 23:27
23:41 wknight8111 joined
svnbotl r25856 | coke++ | trunk: 23:51
: [codingstd]
: Generate the right year whenever the tool is run, not just this year.
diff: parrotvm.org/svn/parrot/revision/?rev=25856
r25857 | chromatic++ | trunk: 23:58
: [src] Implemented mark_object_cache() (RT #50648).
diff: parrotvm.org/svn/parrot/revision/?rev=25857