Camelia, the Perl 6 bug

IRC log for #parrot, 2008-07-19

Parrot | source cross referenced

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

All times shown according to UTC.

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

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

Parrot | source cross referenced