"Parrot 0.6.4 "St. Vincent Amazon" Released | parrotcode.org/ | 15/648/80 new/open/stalled tix | logged in irclog.perlgeek.de/parrot/today".
Set by moderator on 15 July 2008.
00:09 AndyA joined 00:50 Zaba joined 00:59 teknomunk joined
dalek r29604 | infinoid++ | pdd13pbc: 01:03
: [pdd13] Merge changes from trunk (-r28908:29603) into pdd13pbc branch.
diff: www.parrotvm.org/svn/parrot/revision?rev=29604
01:12 Hadley joined 02:11 bacek joined 02:13 bacek joined
Infinoid there's a TODO in pdd13 regarding a "CStruct PMC". anyone know anything about this? 02:14
dalek r29605 | coke++ | trunk: 02:25
:
: [tcl] fix `fudge' processing for tcl spec tests; the misplaced [global] caused our variable to get trounced instead of saved, causing us to try to keep running the tests after we knew we'd explode.
diff: www.parrotvm.org/svn/parrot/revision?rev=29605
02:30 idemal joined 03:23 davidfetter joined, davidfetter left
dalek r29606 | infinoid++ | pdd13pbc: 03:27
: [PDD13]
: * take a first stab at Packfile.get_string()
: * Fix some POD function signatures
diff: www.parrotvm.org/svn/parrot/revision?rev=29606
r29607 | infinoid++ | pdd13pbc: 03:34
: [PDD13] First stab at Packfile.set_integer_keyed_str
diff: www.parrotvm.org/svn/parrot/revision?rev=29607
05:02 Psyche^ joined 05:03 pmichaud joined, wolverian joined 05:06 dalek joined 05:19 wolverian joined, dalek joined 05:42 Zaba_ joined 05:59 Psyche^ joined 06:09 Theory joined 06:11 Ademan joined 06:13 Zaba joined 06:47 Zaba joined 07:11 Zaba joined 08:02 Ademan joined
dalek r29608 | fperrad++ | trunk: 08:10
: [docs]
: - lib/Parrot/OpLib was removed since r29435
diff: www.parrotvm.org/svn/parrot/revision?rev=29608
08:58 tuxdna joined 09:35 iblechbot joined 09:41 GarulfoUnix joined 09:57 Casan joined 10:08 Zaba_ joined 10:09 masak joined
masak TimToady: so, will there be something in nothing's place? 10:18
I mean, now that nothing doesn't exist any more 10:19
10:19 magnachef_away joined 10:56 ruoso joined 11:06 Coleoid joined 11:23 magnachef_away joined 11:34 ruoso joined
masak is there a way to make spectest, but show stats for every test instead of every test file? 11:42
hm, when I run make spectest, it seems to hang indefinitely on t/spec/S29-conversions/ord_and_chr.t 11:58
but when I run the test harness on only that file, it parsefails immediately
ah, I'm probably calling the test harness in the wrong way... 12:00
12:12 bacek joined
masak what is it in rakudo that interpolates strings? 12:21
12:22 magnachef joined 12:30 magnachef_ joined
bacek perl6: my $w='World; say "Hello, $w" 13:13
polyglotbot OUTPUT[Statement not terminated properly at line 1, near "='World; s"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 22126 (src/gen_grammar.pir:2813)␤called from Sub
..'parrot;Perl6::Grammar;statementlist' pc 21139 (src/gen_grammar.pir:2450)␤called fr...
bacek perl6: my $w='World'; say "Hello, $w" 13:14
polyglotbot OUTPUT[Hello, World␤]
bacek perl6.pir: my $w='World'; say "Hello, $w"
nopaste "polyglotbot" at 193.200.132.146 pasted "perl6 pir paste" (26 lines) at nopaste.snit.ch/13622
bacek masak: looks like nothing. 13:16
masak bacek: nono
perl6: "$" 13:17
see?
polyglotbot No output (you need to produce output to STDOUT)
masak perl6: say "$"
bacek masak: oh shit... It's infinite loop in rakudo. 13:18
polyglotbot No output (you need to produce output to STDOUT)
masak yep
I've reported it to rakudobug
tried to find the culprit in quote_expression.pir too, but to no avail
I simply don't know enough about the mechanisms to pin it down 13:19
will be instructive to see the patch that someone more knowledgeable will eventually produce
13:34 Whiteknight joined
bacek masak: ok. It's PGE bug AFAIU. 13:35
masak bacek: oh, goodie 13:36
that explains why I didn't find it
perl6: multi push ( Array @a, *@data ) {} 13:38
polyglotbot OUTPUT[Statement not terminated properly at line 1, near "@a, *@data"␤current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)␤called from Sub 'parrot;Perl6::Grammar;eat_terminator' pc 22126 (src/gen_grammar.pir:2813)␤called from Sub
..'parrot;Perl6::Grammar;statementlist' pc 21139 (src/gen_grammar.pir:2450)␤called fr...
masak that should work, right?
bacek masak: what do you mean? 13:40
masak bacek: parameters like *@data should be able to pass through the parser, right? 13:41
bacek masak: yes. 13:43
Zaba_ *@data? 13:45
what'd that mean?
masak Zaba_: it has something to do with slurpyness, methinks
Zaba_ perl6 is so like lisp.
masak Zaba_: see S06. dev.perl.org/perl6/doc/design/syn/S06.html 13:46
bacek masak: hmm... Probably I was wrong about PGE... 13:50
masak :/
Infinoid how do I get the name of a PMC's class, in pir?
Zaba_ And still.. what's the difference between a pointy block and an anon sub created with sub keyword? 13:52
bacek Zaba_: there is many ways to do it :) 13:54
Zaba_ hmm okay. 13:56
jonathan multi push ( Array @a, *@data ) {} # multi sub, multi method? 14:10
Not sure if you can just write multi...
masak bacek: should I report the 'multi push ( Array @a, *@data ) {}' thing to rakudobug?
jonathan And if you should be able to, we sure don't (a) parse it and (b) have it work yet. 14:11
masak jonathan: it's from a test 14:12
a spectest, that is 14:13
jonathan masak: Just been to look at STD.pm. It turns out it should parse. 14:14
token multi_declarator:multi { <sym> <.ws> [ <declarator> || <routine_def> ] {*} }
masak jonathan: the problem seems rather to be the param list
jonathan multi can then be followed immediately by a routine def.
masak you learn something every day :)
jonathan OK, it's giving the parse error inside the parameter list, but I'm bettig it's because we don't parse multi followed immediately by a routine_def 14:15
perl6: multi sub push ( Array @a, *@data ) {}
polyglotbot RESULT[[{ ... }, { ... }]]
masak a-ha!
yes, you're right
so you should assume a "sub" even if it's not there
jonathan I'd *guess* so. But if you write it inside a class..hmm.
masak right. 14:16
jonathan I'd have to dig out the correct bit of the spec.
But certainly, STD.pm allows it to parse
So Rakudo is missing something here, for sure.
So feel free to make a ticket.
masak makes the ticket 14:18
jonathan Great. Who knows, maybe it will get fixed. :-) 14:20
masak :)
perl6: multi sub f {}
polyglotbot OUTPUT[get_pmc_keyed() not implemented in class 'Undef'␤current instr.: 'parrot;Perl6;Grammar;Actions;multi_declarator' pc 131420 (src/gen_actions.pir:12708)␤called from Sub 'parrot;Perl6::Grammar;multi_declarator' pc 44994 (src/gen_grammar.pir:10909)␤called from Sub 'parrot;Perl6::Grammar;noun' pc 14:21
..64429 (src/gen_grammar.pir:17981)␤called from S...
masak that fails too
feels like a separate bug
jonathan Ah.
No signature. 14:22
Yes, separate bug.
masak reported that too 14:23
jonathan Thanks. 14:24
masak perl6: my sub foo() {}
polyglotbot OUTPUT[Null PMC access in type()␤current instr.: 'parrot;Perl6;Grammar;Actions;scope_declarator' pc 112750 (src/gen_actions.pir:6116)␤called from Sub 'parrot;Perl6::Grammar;scope_declarator' pc 77148 (src/gen_grammar.pir:22424)␤called from Sub 'parrot;Perl6::Grammar;noun' pc 64317
..(src/gen_grammar.pir:17946)␤called from Sub 'parrot;Perl6::Gramma...
masak jonathan: separate bug?
jonathan Ouch. That is meant to say something like "Lexical subs not yet implemented" 14:25
I know it's meant to because I put the error message in to say so!
masak ah. then I understand why it doesn't work :)
jonathan Yeah, but it's supposed to give a nice error. Not a NULL PMC access.
perl6: sub foo() {} 14:26
polyglotbot RESULT[{ ... }]
jonathan perl6: my sub foo() {}
polyglotbot OUTPUT[Null PMC access in type()␤current instr.: 'parrot;Perl6;Grammar;Actions;scope_declarator' pc 112750 (src/gen_actions.pir:6116)␤called from Sub 'parrot;Perl6::Grammar;scope_declarator' pc 77148 (src/gen_grammar.pir:22424)␤called from Sub 'parrot;Perl6::Grammar;noun' pc 64317
..(src/gen_grammar.pir:17946)␤called from Sub 'parrot;Perl6::Gramma...
jonathan perl6: my sub foo($x) { 42 }
polyglotbot OUTPUT[Null PMC access in type()␤current instr.: 'parrot;Perl6;Grammar;Actions;scope_declarator' pc 112750 (src/gen_actions.pir:6116)␤called from Sub 'parrot;Perl6::Grammar;scope_declarator' pc 77148 (src/gen_grammar.pir:22424)␤called from Sub 'parrot;Perl6::Grammar;noun' pc 64317
..(src/gen_grammar.pir:17946)␤called from Sub 'parrot;Perl6::Gramma...
jonathan Heh
Yeah, 'tis broken. But lexical subs ain't done yet anyway.
masak ah, here: src/parser/actions.pm:1984
$/.panic("Lexically scoped subs not yet implemented."); 14:27
jonathan Yeah 14:28
But why we're not getting that, and are getting the null PMC access instead, I don't know.
masak checking...
seems the condition on line 1973 in actions.pm isn't true at that point 14:29
jonathan Odd. 14:30
OK, file a ticket.
masak files
14:35 Zaba joined 14:45 rhr joined 14:59 kid51 joined
kid51 What happened to our scrollback? www.parrotcode.org/misc/parrotsketc...ot-200807/ 15:00
Has nothing for today, only one entry for yesterday.
There's some other site that logs #parrot, IIRC. 15:01
purl parrotlog?
purl kid51: wish i knew
bacek kid51: irclog.perlgeek.de 15:02
kid51 thx
15:21 Casan joined 15:23 jhorwitz joined 15:29 iblechbot joined 15:32 cjfields joined
masak say I wanted to learn more about the opcode 'index' in PIR. which pdd do I turn to? 15:35
15:42 Zaba joined
Infinoid masak: I'd just do: perldoc src/ops/string.ops 15:48
masak Infinoid: thank you. I was unaware of that manual. 15:49
Infinoid pdd28_strings seems to be more concerned with the STRING structure and String PMC, I don't think it mentions the string ops 15:51
masak I'm about to implement the 'rindex' builtin in rakudo, but it seems a bit more tricky than implementing the 'index' builtin, since there's an 'index' opcode but no corresponding 'rindex' opcode 15:53
Infinoid hmm. maybe there needs to be one? 15:55
the "index" opcode calls "string_str_index" which calls "CHARSET_INDEX" in the utf8 plugin or wherever 15:56
there is no "rindex" opcode, and there is no "string_str_rindex" function, but there is a CHARSET_RINDEX in the charset API 15:57
masak does that help me?
I'll churn out a suboptimal solution using index, and send a suggestion for maybe having rindex along with the patch
Infinoid it means it's possible to write an rindex op. but it doesn't help you on the pir level 15:58
masak why doesn't it help me on the pir level?
Infinoid I don't know what the criteria are for justifying a new op, but it seems like this would be useful for more languages than just rakudo
masak true.
Infinoid because pir can't call C functions directly, that's what the ops are for. :)
masak aha.
I could also make do with index and reverse ops 16:04
16:04 Zaba joined
masak ...but there does not seem to be a reverse op either :/ 16:04
16:06 davidfetter joined
masak is it bad style to have builtins call object methods in rakudo? 16:11
Infinoid I don't know. are they guaranteed to always have an object of the right type in hand? 16:16
davidfetter anybody in portland atm? 16:18
masak Infinoid: well, say I want to reverse a string. as far as I can tell, `reverse $string` is not implemented, but `$string.reverse is. if I get a string as a parameter (and I've checked that it's there), would it be bad style to create a P6String and call reverse on it? 16:19
s/P6String/Perl6Str/ 16:20
Infinoid I don't think it's a problem, but I wouldn't know. I'd just try it and see who complains...
masak gotcha. 16:22
16:30 Zaba joined
TimToady I think we'll end up renaming string reverse 16:39
and reserve reverse for lists 16:40
masak perl6: say index("Hello", "x")
polyglotbot OUTPUT[␤]
masak isn't that supposed to be -1?
the current implementation returns a Failure object 16:41
TimToady string positions are opaque, and position 0 happens to be True
masak is that a yes or a no? 16:42
TimToady it doesn't return -1 anymore ever
masak oki
TimToady so you can say while index(...)
masak ah, yes 16:43
TimToady that's the design, but most implementations cheat and use integer positions
so the tests need to catch cheaters :) 16:44
masak hehe 16:45
actually, the tests use integers too 16:48
which probably encourages cheaters 16:49
dalek r29609 | infinoid++ | pdd13pbc:
: [src] Clarify the PackFile_pack_size() documentation slightly - the
: returned size is in opcode_t units, not bytes.
diff: www.parrotvm.org/svn/parrot/revision?rev=29609
16:50 Zaba_ joined 16:52 dngor joined
dalek r29610 | infinoid++ | pdd13pbc: 16:58
: [PDD13]
: * Implement get_directory().
: * Fix get_string() so it works.
: * Add the beginnings of a test script for the Packfile class.
diff: www.parrotvm.org/svn/parrot/revision?rev=29610
17:01 teknomunk joined
jonathan Infinoid++ # PDD13 17:02
Infinoid hmm. that's probably not going to work on non-unix platforms. 17:06
what's the favored way of building pathnames with whatever the current machine's pathsep is, in pir? 17:07
jonathan Hmm...good question.
I think you can load the configuration
Infinoid oh, ok 17:08
jonathan It's compiled into the config.fpmc file 17:09
Infinoid: load_bytecode "library/config.pbc" or some such 17:10
See runtime/parrot/library/config.pir
Infinoid nice, config.pir hardcodes "/" too 17:11
maybe I don't have to worry about it.
jonathan Infinoid: I think you can look up "slash" in config 17:13
To find out what the path separator is.
Infinoid yeah, that was my original plan 17:14
but judging from the fact that .sub _config in config.pir does exactly the same kind of open I was planning to do, and it just uses "/", I'm thinking I won't gain any extra portability from this 17:15
Infinoid does borrow the nice interpinfo .INTERPINFO_RUNTIME_PREFIX part, though.
jonathan Ah, OK. 17:16
I think using / in paths with ParrotIO will work - I think it has code to re-write 'em to the Right Thing.
Infinoid great, thanks! 17:17
17:18 Zaba joined
dalek r29611 | infinoid++ | pdd13pbc: 17:19
: [PDD13]
: * Test script should use "interpinfo" to find the parrot runtime prefix,
: for finding pbc files to test against.
diff: www.parrotvm.org/svn/parrot/revision?rev=29611
japhb msg rurban ping 17:42
purl Sorry, I've never seen rurban before.
japhb sigh ...
17:48 Zaba joined 18:09 purl joined 18:27 Piper joined
Piper Hi there. I am Piper. I am now publicly logging this channel. If you don't want to be logged, please leave now. 18:27
19:06 Zaba joined 19:21 Theory joined
dalek r29612 | chromatic++ | trunk: 19:28
: [IMCC] Added documentation and tidied some code in the register allocator. No
: functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=29612
21:03 Limbic_Region joined, davidfetter joined 21:18 daxelrod joined 21:27 workbench joined
dalek r29613 | infinoid++ | pdd13pbc: 21:30
: [PDD13]
: * Fix get_string() to be more correct.
: * Add a set_integer_keyed() wrapper around set_integer_keyed_str().
: * Add a test for set_integer_keyed_str.
diff: www.parrotvm.org/svn/parrot/revision?rev=29613
Infinoid so, when'd we get a new purl? 21:38
purl, nopaste?
purl i haven't a clue, infinoid
Infinoid nopaste is nopaste.snit.ch/
purl, nopaste is nopaste.snit.ch/ 21:39
purl OK, Infinoid.
Infinoid purl, nopaste?
purl infinoid: i haven't a clue
Infinoid rephrases
so, when'd we get a new weird purl?
daxelrod purl, status? 21:46
purl Since Sat Jul 19 18:09:37 2008, there have been 28 modifications and 21 questions. I have been awake for 3 hours, 37 minutes, 12 seconds this session, and currently reference 710696 factoids. Addressing is in optional mode.
Infinoid from what I can tell, it's readonly 21:47
daxelrod purl, are you in readonly mode? 21:48
purl wish i knew, daxelrod
Infinoid up is down
purl, down is up 21:49
purl OK, Infinoid.
Infinoid purl, up?
purl i don't know, infinoid
Infinoid purl, down?
purl no idea, infinoid
daxelrod What's up, purl?
purl daxelrod: wish i knew
22:03 iblechbot joined
dalek r29614 | infinoid++ | pdd13pbc: 22:20
: [PDD13]
: * Fix some datatype-related warnings.
: * Remove the VTABLE set_pointer() I had hacked into packfiledirectory;
: for now, just calling PMC_data() directly in the creation function
: works fine. (And will work for the rest of the segment types, too.)
diff: www.parrotvm.org/svn/parrot/revision?rev=29614
22:25 teknomunk joined 22:48 Whiteknight joined 22:51 kid51 joined
dalek r29615 | jkeenan++ | parallel: 23:13
: Provide message re elapsed time of preconfiguration tests.
diff: www.parrotvm.org/svn/parrot/revision?rev=29615
23:18 nopaste joined
dalek r29616 | chromatic++ | trunk: 23:21
: [IMCC] Cleaned up more of IMCC's register allocator -- again, there should be
: no functional changes.
diff: www.parrotvm.org/svn/parrot/revision?rev=29616
r29617 | jkeenan++ | trunk: 23:26
: Apply patch submitted by Michael Peters in
: rt.perl.org/rt3/Ticket/Display.html?id=57090.
: Upon completion of 'make smolder_test', inform submitter of Smolder report
: number.
diff: www.parrotvm.org/svn/parrot/revision?rev=29617
r29618 | jkeenan++ | parallel: 23:46
: Consolidate multiple test files per configuration step into a single file.
diff: www.parrotvm.org/svn/parrot/revision?rev=29618
r29619 | jkeenan++ | parallel: 23:52
: Consolidate multiple test files per configuration step into a single file.
diff: www.parrotvm.org/svn/parrot/revision?rev=29619