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.
Auzon moritz_: t/spec/S02-builtin_data_types/range.t can be added to spectest_regression (slightly impure) 00:47
pugs_svnbot r21156 | Auzon++ | [gsoc_spectest] added some range tests for *..*. Also added some tests for bugs in Rakudo's handling of Inf versus -Int. Added some basic tests for p5=>. (added 15 tests)
Auzon that should be "Inf versus -Inf", and those are in t/operators/arith.t. 00:48
pugs_svnbot r21157 | Auzon++ | [gsoc_spectest] Added tests for the little-mentioned reverse method on Hashes. (added 4 tests) 01:05
Auzon What does this message from Rakudo mean? "Method 'isdecl' not found for invocant of class 'PAST::Op'" 01:11
ingy hi scrottie :) 01:12
pmichaud it means that whatever is being declared with 'my' or 'our' isn't a simple variable. Rakudo and PCT don't know how to handle those yet. 01:19
Auzon thanks pmichaud. If you want, you can add that test I mentioned above to spectest_regression since I think moritz_ is asleep now 01:21
pmichaud I'm catching up on other backlogged items :-) 01:22
Auzon ok :) 01:22
pmichaud I'll get to it if I can but it might not happen soon, so moritz++ may get to it before me anyway. 01:23
any comments or thoughts to add on my recent blog post? www.rakudo.org/2008/07/wheres-the-goal-line.html
Auzon If you're looking for diving in points, you can mention t/TASKS, which is just a list of things to help in the test suite that require minimal knowledge. I try to keep a few items in there for other people to grab if they want. 01:25
pmichaud oh, that's a good poing. I'll add that to the post. 01:26
s/poing/point/ 01:27
Auzon And you may want to mention this channel as a coordination point for all things Perl 6
I'm usually willing to help someone get involved with the tests.
pmichaud I will do that.
Auzon Thanks for the visibility pmichaud++ 01:28
pmichaud thank *you* for the outstanding work on the tests -- it is a huge help to Rakudo (and Perl 6)
rakudo_svn r28928 | pmichaud++ | [rakudo]: 01:41
r28928 | pmichaud++ | Make sure the expression in a for statement is interpreted in
r28928 | pmichaud++ | list context. cjfields++ for finding and reporting this.
pmichaud for [1..3,4..6] { say $_.WHAT; } 01:42
rakudo: for [1..3,4..6] { say $_.WHAT; }
p6eval rakudo 28927: OUTPUT[Int␤Int␤Int␤Int␤Int␤Int␤]
pmichaud (not updated yet) 01:43
Auzon rakudo: my $a = "abc"; my @b = $a; say @b.WHAT 01:44
p6eval rakudo 28928: OUTPUT[Array␤]
Auzon rakudo: my $a = "abc"; my @b = $a.reverse; say @b.WHAT 01:45
p6eval rakudo 28928: OUTPUT[Array␤]
pmichaud rakudo: for [1..3,4..6] { say $_.WHAT; } 01:46
p6eval rakudo 28928: OUTPUT[Array␤]
pmichaud yay. 01:47
Auzon pmichaud++ :D
pmichaud perl6: for [1..3,4..6] { say $_ }
p6eval elf 21157: OUTPUT[123456␤]
..kp6 21157: OUTPUT[syntax error at position 4, line 1 column 4:␤for [1..3,4..6] { say $_ ␤ ^ HERE␤]
..pugs: OUTPUT[1 2 3 4 5 6␤]
..rakudo 28928: OUTPUT[1 2 3 4 5 6␤]
pmichaud yay.
Auzon I have doubts about the isa_ok function's accuracy in Rakudo's Test.pm... 01:53
pmichaud probably good reason to doubt them, too :-) 01:54
Auzon @foo.WHAT and @foo ~~ Type both work, so we'll use them instead.
pmichaud I have doubts about Parrot's 'isa' opcode, myself.
we can always fix Test.pm
Auzon Which is what this function uses: multi sub isa_ok($var,$type) {ok($var.isa($type), "The object is-a '$type'");}
pmichaud well, @foo ~~ Type does more than simple 'isa' semantics, I think 01:55
because it also checks for 'does'
Auzon Yeah. But .WHAT eq 'Class' should be the same as .isa('Class') 01:56
and it looks like .isa in Rakudo calls directly to the isa opcode. 01:58
pmichaud well, if .WHAT eq 'Class' returns true then I would expect .isa('Class') to return true also 02:02
but the converse is not true
Auzon rakudo: my @a = <1 2 3>; say @a.WHAT; say @a.isa('Array');
p6eval rakudo 28929: OUTPUT[Array␤0␤]
pmichaud and afaik we still haven't heard official word if strings are valid arguments to .isa (although I suspect they are) 02:03
ohhhhhhhhh
that's because Parrot has its own 'Array' class, that isn't the same as Rakudo's Array
hrm.
rakudo: my @a = <1 2 3>; say @a.isa(Array);
p6eval rakudo 28929: OUTPUT[1␤] 02:04
Auzon mmm... ok, we'll avoid the string form then 02:05
pugs_svnbot r21158 | Auzon++ | [gsoc_spectest] fudged reverse.t for Rakudo
r21159 | Auzon++ | [gsoc_spectest] unfudging two tests 02:08
Auzon moritz_ or anyone else: t/spec/S29-list/reverse.t can be added to spectest_regression, too
Auzon the next data point in the chart should be a nice jump. 1793 total tests :) 02:24
pugs_svnbot r21160 | pmichaud++ | S29-list/first.t: update skip message, convert tabs to spaces 02:29
pmichaud rakudo: for [1..3,4..6] { say $_.WHAT } 03:42
p6eval rakudo 28931: OUTPUT[Array␤]
pugs_svnbot r21161 | cjfields++ | * add some list context tests per #perl6 and #parrot discussions 04:06
r21161 | cjfields++ | * will convert over to t/spec/S04-statements/for.t for spec regression tests
r21162 | pmichaud++ | Some updates to S29-list.
r21163 | pmichaud++ | Add a note that "XXX" marks places where the test needs review.
pugs_svnbot r21164 | pmichaud++ | S29-list/first.t: Change "adverbial closure" to "adverbial block" 04:10
pugs_svnbot r21165 | pmichaud++ | S29-num/abs.t: correct #?rakudo skip message 04:13
r21166 | pmichaud++ | S29-str/chop.t: Correct #?rakudo skip message. 04:20
moritz_ Auzon: adding the two tests to spectest_regression - will commit after running the tests 06:48
rakudo_svn r28932 | moritz++ | [rakudo] fix infix:<x> for negative repetition count, patch curtesy of 06:57
r28932 | moritz++ | bacek++. Closes RT #56516
rakudo_svn r28933 | moritz++ | [rakudo] adding two more files to spectest_regression 07:01
r28933 | moritz++ | Auzon++ for fudging and reporting
spinclad perl6: for [1..3,4..6] { .WHAT.say } 07:13
p6eval elf 21166: OUTPUT[Use of uninitialized value in concatenation (.) or string at ./elf_f line 3408.␤syntax error at (eval 119) line 4, near "{->WHAT"␤ at ./elf_f line 3861␤]
..kp6 21166: OUTPUT[syntax error at position 4, line 1 column 4:␤for [1..3,4..6] { .WHAT.say ␤ ^ HERE␤]
..pugs: OUTPUT[Array␤]
..rakudo 28933: OUTPUT[No result object␤current instr.: 'parrot;Perl6;Grammar;Actions;expect_term' pc 118605 (src/gen_actions.pir:9400)␤]
moritz_ spinclad: rakudo doesn't do implicit $_ invocant yet
rakudo: for [1..3, 4..6] { $_.WHAT.say } 07:14
p6eval rakudo 28933: OUTPUT[Array␤]
spinclad i'm a bit surprised so few of our stable do it
spinclad perl6: for 1..3,4..6 { .WHAT.say } 07:15
p6eval elf 21166: OUTPUT[Use of uninitialized value in concatenation (.) or string at ./elf_f line 3408.␤syntax error at (eval 119) line 4, near "{->WHAT"␤ at ./elf_f line 3861␤]
..kp6 21166: OUTPUT[syntax error at position 8, line 1 column 8:␤for 1..3,4..6 { .WHAT.say ␤ ^ HERE␤]
..pugs: OUTPUT[Int␤Int␤Int␤Int␤Int␤Int␤]
..rakudo 28933: OUTPUT[No result object␤current instr.: 'parrot;Perl6;Grammar;Actions;expect_term' pc 118605 (src/gen_actions.pir:9400)␤]
spinclad perl6: for 1..3,4..6 { $_.WHAT.say }
p6eval elf 21166: OUTPUT[Int␤Int␤Int␤Int␤Int␤Int␤] 07:16
..kp6 21166: OUTPUT[syntax error at position 8, line 1 column 8:␤for 1..3,4..6 { $_.WHAT.say ␤ ^ HERE␤]
..pugs: OUTPUT[Int␤Int␤Int␤Int␤Int␤Int␤]
..rakudo 28933: OUTPUT[Int␤Int␤Int␤Int␤Int␤Int␤]
moritz_ spinclad: no so surprising if you know a bit about STD. I tried to detect the case in rakudo's grammar (which is modelled after STD), and failed
spinclad kp6: for 1..3 { $_.WHAT.say }
p6eval kp6 21166: OUTPUT[error in Block at compiled/perl5-kp6-mp6/lib/KindaPerl6/Grammar/Sub.pm line 753, <> line 1.␤*** Syntax Error in Block: missing closing curly bracket ␤]
spinclad do you know, is it spectested yet? 07:17
moritz_ spinclad: it's used all over the test suite
spinclad: which makes it quite an annoyance that rakudo doesn't implement it yet 07:18
spinclad so fixing it would give a nice boost 07:18
moritz_ indeed
as would my ($var1, $var2); 07:19
rakudo_svn r28934 | moritz++ | [rakudo] added S29-str/lc.t to spectest_regression 07:20
moritz_ pixie: my ($a, $b); say 1; 10:07
elf: my ($a, $b); say 1;
p6eval pixie: OUTPUT[1␤] 10:07
elf 21166: OUTPUT[1␤]
pugs_svnbot r21167 | moritz++ | [spec] unfudged a few tests, added a test to S29-str/lc.t 10:23
rakudo_svn r28944 | moritz++ | [rakudo] add tools/autounfudge.pl 10:38
pmurias TimToady: what is the STD5.pm self-parsing speed goal? 12:22
s/self-parsing/STD.pm parsing/ 12:23
moritz_ pmurias: what's the recommended way to get a parse tree out of STD5? 12:28
pmurias: specifically I'm intersted in how 'my ($x, $y)' would parse
pmurias i use STD5_dump_match 12:29
moritz_ I just get a parse failure :( 12:30
pmurias me too 12:32
moritz_ I wanted to implement that in rakudo, so I tried to find out how STD.pm parses it
turns out not at all ;)
which is a bad way to do it
pmurias moritz_: it works if you pass it a file 12:35
moritz_ pmurias: with STD5_dump_match? not for me 12:36
pmurias how do you invoke it? 12:37
moritz_ perl5.10.0 STD5_dump_match foo
pmurias cat foo
moritz_ my ($x, $y); 12:38
pmurias: could you paste me the parse tree please?
pmurias moritz_: it works here 12:39
do you have an up to date STD5.pm?
moritz_ I did a gimme5 STD.pm > STD5.pm
pmurias and rm -fr lex? 12:40
moritz_ ah, that does the trick 12:41
moritz_ pmurias++ 12:49
moritz_ rakudo: say('foo') 13:26
p6eval rakudo 28949: OUTPUT[foo␤]
moritz_ rakudo: say(sqrt('foo'))
p6eval rakudo 28949: OUTPUT[0␤]
rurban packaging questions allowed? 13:28
moritz_ rurban: you can try ;) 13:29
rurban Hi :) I'm just making up the new parrot packages for cygwin. I wonder how others named the rakudo or perl6 package? I want to name it parrot-perl6. 13:30
I found nothing useful at debian, gentoo and freebsd ports.
For pugs I need first ghc and this is a major work todo, so the simple parrot languages first. 13:31
moritz_ rurban: I don't know if they have a different package at all 13:32
rurban: but I recommend #parrot on irc.perl.org
rurban Ok. I'll try there. Maybe rakudo is not ready yet for primetime. 13:33
moritz_ it just needs more attention ;) 13:58
rindolf is writing an email to TPF. 14:28
rakudo_svn r28960 | pmichaud++ | [rakudo]: 16:14
r28960 | pmichaud++ | * Update spectest-progress.csv: 80 files, 1290 passing tests
DietCoke rakudo calls itself perl6 when the fake-cecutable is built, but I can see if you had multiple perl6es how that would be an issue. I think calling it "rakudo" in a port is fine. 17:42
I'm not sure having a separate port for parrot and the languages will work, since the languages expect to be in the build directory of parrot when built, but that's a question for #parrot on irc.perl.org 17:43
ruoso DietCoke, the executable perl6 will probably be handled the same way the "java" executable is... I consider the rakudo use of "perl6" as legacy...
DietCoke While I'm a java guy, I don't know what you're referring to here. 17:44
ruoso the "java" executable is provided by every implementation...
the user is the one who chooses which one to use
in Debian, for instance, there is the "update-alternatives" tool
that helps in managing that... 17:45
DietCoke yes, but with java, you typically have a directory "somewhere", and you can add those to your path or not. With a package manager, I'm more used to the executable ending up in a single directory; having two 'java's or two 'perl6's there could be problematic. 17:46
s/c/w/
PerlJam "typiwally"?
:-)
DietCoke ah, pedants. s/could/would/; but yah, it would be nice if all the various perl6's agreed on that. 17:47
and apologies for my extra apostrophes. =-)
Gothmog_ you might also have an executable perl6.rakudo and a symlink perl6 to it... 17:59
pmichaud once @Larry comes up with a standard for perl6 invocation options, we'll probably look at switching rakudo then. 18:20
pugs_svnbot r21168 | Auzon++ | [gsoc_spectest] added more range tests, fixed existing ones, and unfudged some passing ones. (added 27 tests, removed 2) 18:38
r21169 | pmichaud++ | S29-num/rand.t: remove #?rakudo skip line since RT #56184 is now fixed 18:41
cjfields Auzon: I added some tests to t/statements/for.t yesterday (don't think it is in spec yet) 18:42
Auzon cjfields++: Excellent! 18:43
There's also a t/statements/for_with_only_one_item.t that might have some related tests. 18:44
Your tests look good to me, though. :)
pmichaud and I'd hope they end up in a single file :-)
cjfields agreed
pmichaud #perl6-soc in 30 19:04
29
pugs_svnbot r21170 | Auzon++ | [gsoc_spectest] fixed syntax error in pi.t and added more general TASKS 19:07
Auzon pmichaud: Regarding that syntax error, my guess is that it was from an eval('whatever') or similar being partially removed 19:09
#perl6-soc in 2 minutes 19:32
pmichaud #perl6-soc in -2? 19:35
Auzon yes. 19:36
tuxdna /users 19:37
moritz_ sorry, forgot to mention that I'd be absent for #perl6-soc 21:44
moritz_ backlogs
meppl good night 23:41