Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-04

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 gmansi joined #parrot
00:08 TiMBuS joined #parrot
00:27 bacek joined #parrot
00:27 bacek left #parrot
00:27 bacek joined #parrot
00:27 bacek left #parrot
00:30 slightlyoff_ joined #parrot
00:34 cognominal joined #parrot
00:38 bacek joined #parrot
01:21 Zaba joined #parrot
02:06 s1n chromatic: i just read that gcdebug bit on the wiki, this is a bug that is reliably reproducable
02:07 s1n i actually provided a bt, which is consistant
02:08 s1n if you could explain some of that PMC code i mentioned in the rt, i'll be happy to help come up with a patch
03:01 s1n can someone explain this error (trying to add something to rakudo): error:imcc:syntax error, unexpected DOT, expecting '(' ('.')
03:27 Tene s1n: show me the relevant line of pir
03:28 s1n Tene: i figured it out finally, i forgot to declare :method and i was calling something against self
03:29 s1n thanks though
03:30 s1n Tene: i am trying to figure something else out, though i dont know if it's rakudo or parrot. i'm looking for the elements method/operator
03:32 s1n hmm i'm seeing comments to indicate it's an opcode, that mean it's provided by parrot
03:32 s1n ?
03:33 particle1 joined #parrot
03:59 clunker9_ joined #parrot
04:06 particle joined #parrot
04:14 iblechbot joined #parrot
04:21 tetragon joined #parrot
04:27 dalek r30745 | cotto++ | trunk:
04:27 dalek : [misc] moved the fp equality PASM macros to a separate include file.  All tests pass.
04:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30745
04:57 Zaba_ joined #parrot
05:23 dalek r30746 | cotto++ | trunk:
05:23 dalek : [tests] replace macro defs with .include
05:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30746
05:27 tetragon joined #parrot
05:39 zostay joined #parrot
06:01 Zaba joined #parrot
06:07 chromatic joined #parrot
06:07 chromatic s1n, I'm looking at it now.
06:08 uniejo joined #parrot
06:24 chromatic s1n, do you know what's invalid in the backtrace?  My guess is that the data pointer doesn't point to a valid array, which is an interesting question.
06:25 chromatic ... though the trace from the Class PMC isn't at the right spot.
06:38 Zaba_ joined #parrot
06:41 dalek r30747 | moritz++ | trunk:
06:41 dalek : [rakudo] one more test for spectest_regression, s1n++
06:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30747
07:02 GeJ Hello all.
07:02 purl It's a crazy world, but hello to you too!
07:02 GeJ Is julianalbo idling on IRC?
07:02 chromatic ping NotFound
07:02 purl I can't find NotFound in the DNS.
07:02 GeJ chromatic: oh, thanks.
07:03 chromatic Anytime!
07:03 GeJ NotFound: ping
07:04 GeJ chromatic: how's life treating you? I saw that you're catching up on the concalls. Thank you, I missed those.
07:10 chromatic Somehow life turned really busy in July and is starting to let up.
07:10 chromatic I hope to have time to write code again at some point.
07:11 GeJ glad to hear that.
07:11 viklund joined #parrot
07:32 bacek joined #parrot
07:35 Zaba joined #parrot
07:50 omega I'm reading the perlgeek.de blog about perl6 with great interest, however the latest lesson regexes confused me in the end, where they extend the Perl grammar. If they replace do token sigil:sym<$> { '^' }, the parser will look for ^, but interpret it as $? or the other way around?
07:52 moritz omega: it will look for ^, but act as if a $ was found
07:52 omega ok, thank you :)
07:52 moritz maybe I should clarify this a bit ;)
07:52 omega :) It might be my sleepy head, but I felt it a bit unclear
07:53 moritz http://perlgeek.de/en/articl​e/mutable-grammar-for-perl-6 # this explains it a bit more
07:56 moritz omega: I update the blog post, I hope it's a bit clearer now
07:56 TimToady note that ^ maybe also be confused with prefix:<^>
07:56 omega just an example :p
07:57 omega I couldnt find the dot moritz used in his post
07:57 TimToady ah
07:57 moritz I used ° because I hope it doesn't have a meaning yet ;)
08:14 iblechbot joined #parrot
08:21 TimToady moritz: infix:'+' is not legal syntax in Custom Operators
08:22 TimToady (because :'+' is not legal pair syntax)
08:26 moritz TimToady: oh, some PIR notation slipped in :(
08:27 moritz I'll fix that later, thank you
08:30 TimToady and it should be enum <False True>, not <True False>
08:38 dalek r30748 | kjs++ | trunk:
08:38 dalek : [pirc/new] fix semantic actions after recent major updates.
08:38 dalek : + rename some directives as suggested by Allison:
08:38 dalek : - .arg -> .set_arg_alias
08:38 dalek : - .result -> .get_result
08:38 dalek : - .return -> .set_return (in .begin/end_return)
08:38 dalek : - .yield -> .set_yield (in .begin/end_yield)
08:38 dalek : - .return foo() -> .tailcall foo()
08:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30748
08:39 dalek r30749 | fperrad++ | trunk:
08:39 dalek : [Lua] LPeg
08:39 dalek : - first constructors
08:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30749
09:02 particle joined #parrot
09:16 jonathan joined #parrot
09:17 cosimo joined #parrot
09:20 kj joined #parrot
09:55 moritz we should have some links to smolder on https://www.parrot.org/dev
10:57 bacek joined #parrot
11:06 Debolaz joined #parrot
11:10 moritz what CMS is used for parrot.org?
11:53 bacek g'localtime everyone
11:55 tetragon joined #parrot
11:55 moritz hi bacek
11:56 bacek hi moritz
11:57 bacek anything that I can try to implement for rakudo? I'll have couple of free hours tomorrow
11:57 moritz good question... maybe look into the RT queue?
11:59 * jonathan has been too afraid to look at the RT queue since getting back from Romania.
11:59 bacek It's too many tickets from Masak ;)
12:00 jonathan But my friend who was visiting is gone now, so I have some time again.
12:01 moritz there are some scoping bugs that make working with rakudo really nasty
12:01 moritz for example if 'a' ~~ /./ { say $/; # doesn't work }
12:02 jonathan damm
12:02 moritz or something that should be easier to do: Exception should be testable both for truthness and for definedness
12:02 jonathan Will look into it next time there's Rakudo tuits.
12:03 bacek moritz: thanks. I'll try to something useful
12:03 moritz ./perl6 -e 'try { die "foo" }; say "yes" if $!'
12:03 moritz get_bool() not implemented in class 'Exception'
12:03 jonathan Yes.
12:03 moritz likewise with .defined
12:04 bacek hmm... Should we create rakudo's Exception class, or extend parrot's one?
12:05 bacek there is not Exception class in rakudo atm
12:05 moritz create one in Rakudo, I think
12:05 bacek jonathan: any thought?
12:05 moritz (not sure though)
12:05 * bacek prefer to create one in Rakudo
12:08 jonathan I expect create on in Rakudo.
12:08 jonathan *one
12:08 bacek what should return Exception in boolean context?
12:10 bacek jonathan: preferred name? I can't register 'Exception'. It's already registred.
12:11 jonathan Convenction is probably Perl6Exception.
12:11 jonathan Please read S04 for semantics.
12:11 jonathan I don't know all of them off the top of my head.
12:14 AndyA joined #parrot
12:14 bacek jonathan: ok
12:26 tetragon joined #parrot
12:36 bacek perl6: try { die "foo" }; say "yes" if $!
12:36 polyglotbot OUTPUT[get_bool() not implemented in class 'Exception'␤current instr.: '_block11' pc 39 (EVAL_14:21)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1078 (src/PCT/HLLCompiler.pir:610)␤called from Sub
12:36 polyglotbot ..'parrot;PCT::HLLCompiler;command_line' pc 1257 (src/PCT/...
12:37 bacek perl6: try { die "foo" }; say "yes" if defined $!
12:37 polyglotbot OUTPUT[yes␤]
12:37 bacek perl6: try { die "foo" }; say "yes" if $!.defined
12:37 polyglotbot OUTPUT[Method 'defined' not found for invocant of class 'Exception'␤current instr.: '_block11' pc 45 (EVAL_14:22)␤called from Sub 'parrot;PCT::HLLCompiler;eval' pc 806 (src/PCT/HLLCompiler.pir:481)␤called from Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1078 (src/PCT/HLLCompiler.pir:610)␤called from
12:37 polyglotbot ..Sub 'parrot;PCT::HLLCompiler;command_line' pc 1...
12:59 Debolaz joined #parrot
13:12 gryphon joined #parrot
13:49 NotFound GeJ: pong
13:51 moritz how do I revert a commit with subversion?
13:52 particle svn diff -r<new>:<old>
13:52 particle apply patch
13:52 particle commti
13:52 particle see also docs/project/committer_guide.pod
13:53 cognominal is there something in the parrot compilation mode that make  ustack() of dtrace unable to get names of function in the call stack?
13:54 cognominal I do the same thing of every other process and get a stack with names. With parrot, I get only adresses.
13:54 particle well, since gcc can see the function names, i suspect it's dtrace
13:54 particle *gdb
13:54 masak joined #parrot
13:55 cognominal I get this behavior ony with dtrace
13:55 particle open dtrace in gdb?
13:55 particle O_o
13:55 cognominal I tested with perl and ruby, on Mac OS X and nexanta (a debian with a solaris kernel)
13:56 cognominal with gdb, everything is fine. But I don't need gdb for dtrace.
13:57 cognominal in dtrace, utrace() just capture the current stack trace
13:57 cognominal I would expect that if I successfully do bt in gdb, I could do utrace() in dtrace.
13:58 particle well, i'm out of my comfort zone. i've never used dtrace. but if gdb can capture the stack trace, maybe dtrace does it differently, and that's where the problem is
13:58 particle does utrace() use the same code as gdb to capture stack trace?
13:59 cognominal I don't think so, but I would expect that the underlying mechanism is similar.
13:59 cognominal But why only parrot?
14:00 cognominal dtrace is a powerful tool (that I am learning) and it would be nice to get it to work with parrot.
14:01 cognominal and the problem is not OS specific.
14:02 particle best i can do now is point you here: http://www.perlfoundation.o​rg/parrot/index.cgi?dtrace
14:03 particle :)
14:03 particle of course, since you wrote it...
14:03 particle does dtrace work with miniparrot?
14:03 particle er, dtrace's utrace()
14:04 dalek r30750 | pmichaud++ | trunk:
14:04 dalek : [rakudo]: Eliminate :immediate subs from generated output.
14:04 dalek : * Now use .loadinit() attribute of PAST::Block.
14:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30750
14:04 particle it's likely the same behavior, but worth checking
14:08 cognominal same thing with miniparrot
14:09 cognominal interestingly enough, with perl when I get only hexa address, I get the .so filename, like glob.so
14:09 particle ah. so, maybe it's something with parrot's legacy of being perl-like
14:10 particle perhaps there's someone on p5p or #perl who's tried with perl and can offer insights
14:10 cognominal no, I meant with parrot I get only hexa addresses, not even .so filenames
14:21 masak joined #parrot
14:24 paco V8 Benchmark Suite - version 1   ----> http://code.google.com/apis/v8/run.html
14:24 NotFound Someone with x86-64 want to do a simple test?
14:26 NotFound purl: nopaste?
14:26 purl i think nopaste is at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/
14:26 nopaste "NotFound" at 213.96.228.50 pasted "check X event struct" (29 lines) at http://nopaste.snit.ch/13952
14:36 dalek r30751 | moritz++ | trunk:
14:36 dalek : [rakudo] two more tests for spectest_regression
14:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30751
14:52 masak is there a way to distinguish, when doing $*IN.readline, an empty line from an EOF?
14:52 masak (in Rakudo)
14:53 particle EOF is a flag that lets you know if you've consumed everything
14:53 moritz you can use slurp, split on newlines and iterate over the error
14:53 masak particle: is it available from Rakudo?
14:54 masak moritz: so not with .readline, then?
14:54 moritz masak: I haven't maanged to get it working
14:54 moritz masak: .eof only returns true after reading another line after eof, or some weird thing
14:55 masak umh
14:56 NotFound readline returns the text of the line read.  A blank line  returns  the empty string.  If EOF is encountered while reading a line, and the line is empty, NULL is returned.  If an EOF is read with a  non-empty  line, it is treated as a newline.
14:56 NotFound From the man page.
14:57 moritz NotFound: we're talking about rakudo's $handle.readline
14:57 NotFound moritz: I'll expect that the NULL result will be mapped to undef in perl6.
14:58 masak ok
14:58 masak right now, it isn't.
14:59 moritz ./rakudo -e 'my $x = $*IN.readline; say $x.defined ?? "defined" : "undef" '
14:59 moritz ResizablePMCArray: Can't pop from an empty array!
14:59 masak wha'? :)
14:59 masak ./perl6 -e 'say $*IN.readline.WHAT'
14:59 masak Str
14:59 jonathan masak: --target=past ==> same error?
14:59 masak jonathan: OH HAI
14:59 masak will check
14:59 jonathan uh-oh :-)
15:00 masak :-)
15:00 NotFound What's the type of IN?
15:01 masak IO, I guess
15:01 moritz yes
15:01 particle perl6: say $*IN.WHAT
15:01 polyglotbot OUTPUT[IO␤]
15:02 masak hm, --target=past gives no output whatsoever
15:02 masak I seem to have forgotten how to use that flag correctly... :/
15:02 moritz masak: don't use it with -e
15:02 particle do it after the pbc file
15:02 particle that too
15:02 pmichaud parrot perl6.pbc --target=past ...
15:02 masak moritz: ah, ok
15:02 masak pmichaud: yes.
15:02 pmichaud --target=past doesn't work with ./perl6
15:02 masak did that.
15:03 pmichaud it _should_ work with -e, though.
15:04 masak it doesn't, here
15:05 moritz it never did for me
15:05 pmichaud okay, that's a PCT or rakudo bug then
15:05 pmichaud I thought that one was fixed.  maybe we only fixed it for --taret=pir
15:05 masak doing it on a file works.
15:06 pmichaud yes, they end up in two different sections of HLLCompiler
15:06 masak what am I looking for in the PAST?
15:06 pmichaud I think jonathan was just curious as to whether or not it compiled
15:06 pmichaud i.e., is ResizablePMCArray error a compiler error versus a runtime error
15:07 moritz you can check that with -c
15:07 masak ah, that error
15:07 dalek r30752 | julianalbo++ | trunk:
15:07 dalek : attempt to fix example xlib.pir for x86-64
15:07 masak no, that doesn't compile
15:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30752
15:08 masak the ResizablePMCArray error occurs during compilation
15:08 pmichaud doh!
15:08 pmichaud the ternary needs !! instead of :
15:09 moritz yes
15:09 moritz echo -n | ./rakudo -e 'my $x = $*IN.readline; say $x.defined ?? "defined" !! "undef" '
15:09 moritz Method 'defined' not found for invocant of class 'String'
15:10 pmichaud I'm not sure we have 'defined' defined adequately anyway :-)
15:10 moritz why the bloody hell do I see "String" here?
15:10 moritz isn't that supposed to be Str?
15:10 pmichaud because .readline is returning a Parrot String object, and we don't have HLL type mapping in place yet
15:10 moritz pmichaud: shouldn't it be just in Any?
15:10 pmichaud ...shouldn't what be in Any?
15:11 pmichaud I suspect 'defined' belongs in Object
15:11 pmichaud although it could go in Any
15:11 moritz or Object, yes
15:11 moritz but String !~~ Object, beccause it's not Perl 6, right?
15:11 pmichaud P6object takes care of mapping most of those things.
15:12 pmichaud we just haven't mapped out all of the method-and-vtable items yet
15:13 * moritz doesn't quite understand those anyway
15:24 masak did anyone report this to rakudobug?
15:24 masak rakudo: 1 ?? 2 : 3
15:24 moritz wrong channel ;)
15:24 polyglotbot OUTPUT[ResizablePMCArray: Can't pop from an empty array!␤current instr.: 'parrot;PGE::OPTable;parse' pc 1754 (compilers/pge/PGE/OPTable.pir:495)␤called from Sub 'parrot;Perl6::Grammar;statement' pc 24831 (src/gen_grammar.pir:3146)␤called from Sub 'parrot;Perl6::Grammar;statementlist' pc 22976
15:24 polyglotbot ..(src/gen_grammar.pir:2437)␤called from Sub 'parrot;Pe...
15:24 dalek r30753 | pmichaud++ | trunk:
15:24 dalek : [rakudo]: spectest-progress.csv update: 153 files, 2707 passing tests
15:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30753
15:24 masak moritz: nope :)
15:25 particle 2707!
15:25 purl I don't like big numbers like that.
15:25 particle moritz++
15:25 masak moritz++
15:25 * masak files a little rakudobug
15:25 pmichaud It's okay to report the ?? :   bug, although it's really a PGE bug and might not be fixed
15:25 masak pmichaud: ok
15:25 pmichaud (i.e., it'll get subsumed by the other PGE changes)
15:26 masak I can see how it's now high prio, but it might be nice to have a ticket for it
15:26 NotFound joined #parrot
15:26 pmichaud sure.
15:26 pmichaud Currently ?? !! is being handled by PGE's ternary: class, but STD.pm has it as an infix operator
15:26 pmichaud which works fine, but I just haven't gotten around to switch rakudo's grammar for that yet.  Maybe a ticket will prompt someone else to do it :-)
15:27 Theory joined #parrot
15:27 pmichaud yes, moritz++   (2707 passing tests)
15:27 pmichaud that's impressive.
15:27 particle how many tests in spectest now?
15:28 moritz nearly 4k
15:28 particle i don't have a co handy, or my ack one-liner
15:28 pmichaud 7066
15:28 moritz (that rakudo runs)
15:28 pmichaud 3927 in spectest_regression
15:28 moritz it's still less than half :/
15:28 pmichaud 7066 in t/spec
15:29 moritz and I don't understand the OO very will, so reviewing and moving the oo tests will be much slower
15:29 particle 2707/7066
15:29 purl 0.383102179450892
15:29 particle ok, so we're passing 38% of the spec tests
15:29 particle 2707/19800
15:29 purl 0.136717171717172
15:30 particle and 13-14% of the pugs test suite
15:30 moritz last time we had this discussion is what about 8% ;-)
15:30 particle yep, big changes
15:30 moritz one blocker for many tests are lexical subs
15:31 pmichaud oh, I think we can get lexical subs working.
15:31 jonathan moritz: my sub foo { ... } ?
15:31 moritz many of these could be rewritten in terms of differently named tests, but that's lots of work
15:31 moritz jonathan: exactly
15:31 jonathan moritz: Viem that we parse them.
15:31 jonathan er, s/Viem/I known/
15:31 jonathan s/known/know/ # English fail!
15:32 pmichaud we have to switch it to be able to bind the sub to a lexical var
15:32 jonathan And throw a "todo" style exception.
15:32 jonathan Aye. It shoudln't be too much trouble.
15:32 particle i'm not sure the test suite should rely on lexical subs heavily
15:32 moritz jonathan: yes, which is very good, because it makes it easy to fudge out
15:33 particle then again, i don't care so much to do anything about it :)
15:33 particle odbc-sql is hell.
15:34 moritz particle: same here. New tests that I write don't contain them, but changing all existing is a daunting task
15:34 moritz and my energy is better invested elsewhere
15:35 particle moritz: agreed
15:35 particle would be nice to have something in t/TASKS
15:36 moritz as soon as somebody actually tackles problems from t/TASKS I'm happy to stuff in more
15:39 particle i'll advertise at my local perl mongers meeting
15:40 moritz please do
15:44 dalek r30754 | jkeenan++ | trunk:
15:44 dalek : Temporarily SKIPping most tests so that auto::aio can be patched re http://rt.perl.org/rt3/Tic​ket/Display.html?id=57920.
15:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30754
15:47 NotFound Is :load actually working?
15:47 pmichaud are rt #55586 and #56958 actually the same issue?
15:47 pmichaud (:load actually working)   in what sense?
15:48 NotFound Executing the sub when loading the pbc
16:04 Zaba joined #parrot
16:06 jan joined #parrot
16:13 kj NotFound: :load should be working; it has done so for a long time (but it's easy to check, compile a pir file and run the pbc file)
16:14 NotFound And it must work when using load_bytecode on the .pbc ?
16:15 kj don't know from top of the head, but I think it should, yes. It would make sense, definitely
16:16 NotFound Looks like doesn't, but I'm not sure if I'm not making some mistake.
16:20 kj here it does
16:20 kj nopaste?
16:20 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
16:20 purl i heard nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/
16:21 nopaste "kjs" at 193.1.100.110 pasted ":load and load_bytecode example." (17 lines) at http://nopaste.snit.ch/13953
16:21 kj NotFound: check out the pasted stuff.
16:22 particle NotFound: usually we use :load :init and not just :load on its own
16:23 NotFound particle: yes, I've seen that when grepping for examples.
16:26 NotFound kj: yes, the code works, both with and without putting foo in a namespace. I must search my problem elsewhere,
16:28 moritz is there a nice description of the formats in regex_tests somewhere?
16:36 particle moritz: check the .t file that controls them in compilers/pge/perl6regex
16:36 particle t/.../01-regex.t
16:38 moritz particle: ah, that looks quite different from what is in the pugs repo now
16:39 dalek r30755 | allison++ | pdd27mmd:
16:39 dalek : [pdd27mmd] Convert 'shl', 'shr', and 'lsr' to regular opcodes.
16:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30755
17:02 dalek r30756 | julianalbo++ | trunk:
17:02 dalek : fix pdump segfault on empty const string
17:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30756
17:27 dalek r30757 | kjs++ | trunk:
17:27 dalek : [pirc/new] improve yyerror to allow for varargs, allowing for better error messages.
17:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30757
17:30 dalek r30758 | kjs++ | trunk:
17:30 dalek : [pirc/new] improve 2 more error messages.
17:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30758
17:33 dalek r30759 | kjs++ | trunk:
17:33 dalek : [pirc/new] improve error message for unknown characters in lexer.
17:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30759
17:37 moritz ok, I got rakudo running up to roughly 520 regex tests, then it segfaults
17:37 particle sweet
17:38 particle ...ouch
17:38 moritz 230 more to go, and I could start fudging it
17:38 pmichaud perhaps -G ?
17:38 moritz pmichaud: with -G
17:38 pmichaud I just ran into another -G bug with some changes I'm making
17:39 dalek r30760 | pmichaud++ | trunk:
17:39 dalek : [pct]: Remove workaround code for RT #47956 bug with :init handling
17:39 dalek : * I think the bug still exists, but current languages/compilers don't
17:39 dalek :   seem to be tickling the bug, and Rakudo needs ":init :outer(...)"
17:39 dalek :   to work
17:39 dalek : * We can put in a new workaround for :init :outer if we decide it's needed
17:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30760
17:41 moritz without -G it feels much slower
17:41 moritz and still segfaults
17:41 purl No whammies!
17:42 moritz ICH KANN SO NICHT ARBEITEN
17:42 moritz that had to be said one day ;)
17:45 moritz removing an unnecessary try { ... } blocks make it run up to 583
18:10 pmichaud yes, without -G it's likely to be slower because -G turns off GC
18:11 moritz ok, I'm close to commiting the whole thing
18:12 moritz it skips about 250 tests just because they'd otherwise segfault
18:14 moritz so currently there's no need to even try to substitute literal \n with interpolated \n in the source string
18:15 peepsalot joined #parrot
18:16 Ron joined #parrot
18:17 Ron_ joined #parrot
18:28 Andy joined #parrot
18:28 kj does anybody know whether parrot builds on cygwin? according to the readme it should.
18:29 kj but it doesn't here.
18:30 moritz kj: try the cygwin70patches branch
18:30 kj thanks. But does that branch have an uptodate parrot?
18:31 kj as it's a branch..
18:31 moritz it's branched from parrot-0.7.0
18:31 NotFound Somenone with a x86-64 has tried today revision of xlib.pir ?
18:32 Tene I'll do it now
18:34 Tene It draws something, but not quite right
18:34 Tene it draws only on a line where x=y
18:34 Tene diagonal
18:34 Tene It no longer closes on keypress
18:34 NotFound That's progress ;)
18:34 dalek r30761 | moritz++ | trunk:
18:34 dalek : [rakudo] add pge-tests.t to spectest_regression
18:35 dalek : The immense number of skips is mostly explained by the fact that if we
18:35 dalek : wouldn't skip > 240 tests, the test segfaults.
18:35 dalek :  +307 skip, 105 todo, 333 pass
18:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30761
18:35 moritz 157 test files                                      3987 4793 3126    0  386 1281
18:35 Tene yeah, it uses x for both x and y
18:36 NotFound Tene: It prints 'Event struct' followed by a list of numbers?
18:36 Tene yes
18:37 NotFound Tene:
18:37 NotFound copy the list, please.
18:37 nopaste "tene" at 166.70.38.237 pasted "notfound list can have" (28 lines) at http://nopaste.snit.ch/13954
18:41 nopaste "NotFound" at 213.96.228.50 pasted "test Xevent struct" (29 lines) at http://nopaste.snit.ch/13955
18:41 NotFound Tene: can you compile and run this program?
18:42 rurban joined #parrot
18:43 Tene I totally can!  That's something I can do right now!
18:43 nopaste "tene" at 166.70.38.237 pasted "notfound xevent test can have" (15 lines) at http://nopaste.snit.ch/13956
18:44 NotFound Nice
18:44 bgeron joined #parrot
18:45 bgeron left #parrot
18:46 particle joined #parrot
18:48 rurban Anyone though about java classes so far? similar to dotnet.
18:49 Tene rurban: yes, some people have thought about loading jvm bytecode, but nobody has done any work on it.
18:49 rurban The VM is quite similar. I would start with dotnet.
18:50 rurban My today's patch are for the old dotnet configure + make system. I hope to fix the test errors soon.
18:50 Tene Patches accepted for JVM support if you feel like working on it.
18:50 rurban sure :)
18:51 rurban but first I to finish the simple tasks, then the medium, than the interesting parts
18:51 rurban s/I/I have/
18:51 Tene NotFound: works fine for me
18:51 dalek r30762 | julianalbo++ | trunk:
18:51 dalek : another try for xlib.pir in x86-64
18:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30762
18:51 dalek r30763 | pmichaud++ | trunk:
18:51 dalek : [pct]: Fix loadinit so that it actually does the operations given to it.
18:51 dalek : * Also, move loadinit to occur immediately following the block it's
18:51 dalek :   modifying, instead of after all of its nested blocks.
18:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30763
18:52 NotFound Tene: You tested it before I commit?
18:52 Tene NotFound: /whois NotFound
18:52 Tene ack
18:52 jonathan Someone is working on dotnet?! :-)
18:52 Tene I saw it go to the list
18:53 Tene It still doesn't quit on keypress, though
18:54 NotFound Tene: forgot the say: now exit on Esc, not on any key.
18:54 dalek r30764 | pmichaud++ | trunk:
18:54 dalek : [rakudo]:  code generated by --target=pir now runs from parrot (RT #53040)
18:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30764
18:54 rurban jonathan: why not java also?
18:55 NotFound s/the/to
18:55 rurban btw: I killed your perl-like build system and converted it to the new way. just two mono vars are missing to get
18:56 NotFound Two mono vars is equivalent to one stereo var?
18:56 rurban trans_mono_lib_path, trans_class_library
18:56 Tene rurban: he didn't even finish dotnet, and you're confused about why he didn't also do jvm?
18:56 jonathan rurban: Java also is fine - I just never worked on it. But VMs are similar. I expect you can steal stuff. :-)
18:56 jonathan I got distracted working on this other language...
18:56 rurban sure: copy & paste
18:56 purl copy & paste is evil or rather buggy. :/
18:56 NotFound Tene: It exit on Esc key?
18:56 Tene yes
18:57 rurban just the rules file is the most work.
18:57 NotFound Good :)
18:57 jonathan rurban: Those were for testing the translator, against Mono's implementation of the .Net class library, to see how much it would translate. :-)
18:57 NotFound But this is cargo cult programming, I have no idea of why the struct members are aligned that way.
18:57 rurban my tests are not that bad.
18:57 rurban over 50%
18:58 rurban and most of the errors are simple to fix. hopefully I get more tests passing over the weekend
18:58 rurban I got mono-1.2.1
18:58 jonathan Nice!
18:59 jonathan Not as bad bit-rot as I expected.
18:59 jonathan There is the full paper I wrote about it too.
18:59 jonathan It's very long, but it features bad poetry AND a picture of a monkey.
18:59 rurban url?
19:01 rurban dotnet: Failed 22/43 test programs. 141/263 subtests failed.
19:01 rurban okay, less than 50%
19:03 particle jonathan: is dotnet a pile of spaghetti, or can it be used a a template for other bytecode translations?
19:03 particle i ask because evan from rubinius and i talked about bytecode translation
19:03 jonathan particle: It should be pretty pluggable, or easy to make that way.
19:03 rurban dotnet has some ugly perl parts but most of it is fine. the biggest task is converting stack code to register code.
19:03 particle and i wondered whether it would take a bottle or a barrel of beer to use dotnet
19:04 jonathan The stack to register mapping is abstracted from the instruction translation.
19:04 particle good
19:04 jonathan You don't have to write stack to register mapping again.
19:04 particle how about bidi?
19:04 jonathan And the instruction translation is pretty declarative.
19:04 jonathan bidi?
19:04 particle bidirectional
19:04 rurban jzst one
19:04 rurban net2pbc
19:04 Theory joined #parrot
19:04 pmichaud bidi is half implemented.  :-)
19:04 rurban no pbc2net yet
19:05 rurban but net2pbc is most wanted, or class2pbc (jvm2pbc)
19:05 Theory joined #parrot
19:05 particle yes, and rubinius2pbc would be nice too
19:06 rurban and jvm2pbc is 90% copy&paste from dotnet
19:06 rurban because we all know that our vm is better. so we import their stuff, not the other way
19:06 particle so, does it make sense to refactor components into compilers/stack2pbc or whatever?
19:06 jonathan See the paper conclusions for what needs to do next.
19:07 jonathan The Perl stuff isn't really horrible at all, you just have to get your head around the fact that it's generating code that in turn generates code. :-)
19:08 rurban dotnet is perl5, compilers/xxx should be pir or c I suppose
19:09 particle or nqp :)
19:09 Tene or java
19:09 jonathan It's fine that part of the build tools are in Perl 5, to me.
19:09 rurban yes. nqp should be used for the next step if so
19:09 jonathan It can always be moved out of the Parrot tree if @other are not OK with it.
19:09 rurban or even perl6
19:09 jonathan Writing it in PIR would be a pain.
19:10 rurban yes
19:10 jonathan C is, well, error-prone.
19:10 rurban yes
19:10 jonathan The only things in Perl are build tools, anyway.
19:10 jonathan You could actually re-work things so you only need Perl to generate some PIR file and check that in, and have a --maintainer mode, just like we only require lex and yacc for some things.
19:11 jonathan But anyway, I'd suggest time is better spent making it actually complete rather than re-writing it. The extra bits that are needed aren't in the build tools anyway. It's in writing .Net built-ins.
19:12 jonathan And getting their reflection model in place.
19:12 jonathan And mapping their NCI to ours.
19:12 rurban reflection would be harder, nci would be easy
19:14 jonathan Yes, it would be a bit tricky. :-)
19:15 rurban The probloem is not to slow it down too much I guess
19:16 dalek r30765 | moritz++ | cygwin070patches:
19:16 dalek : [config]
19:16 dalek : * Fix hard tabs in languages/tcl/lib/Tcl/Test.pm from yesterday
19:16 dalek : * overhaul dotnet Configure + make
19:16 dalek : * add current novell mono path to dotnet test
19:16 dalek : Patch courtesy by Reini Urban, rurban++
19:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30765
19:16 rurban But I have to inspect the generated PIR a bit more first
19:16 rurban moritz++ thanks
19:18 * moritz smiles weakly and waits for rurban's CLA ;)
19:19 rurban tomorrow until chromatic finds my cla in the pobox
19:19 rurban well, tomorrow I'll have to fly back to graz. no time for coding probably.
19:20 jonathan rurban: Is that Graz, Austria?
19:20 rurban yes
19:20 rurban right now I'm near you. In mainz
19:21 rurban tomorrow jonathan will be my nearest again
19:22 jonathan If you're ever passing through Bratislava, let me know.
19:22 particle1 joined #parrot
19:22 rurban I build some houses there. Sure (The big Dell call center actually)
19:23 rurban built. it's over
19:23 jonathan Ah, OK.
19:24 jonathan Will you come to the Twin City workshop, or a bit far to travel?
19:24 rurban Are there more design thoughts on a compacting GC?
19:25 rurban My company and job keeps me busy with work (I have tom support all the Formula 1 teams)
19:26 rurban And I have a lot of work to do for CLISP also
19:26 NotFound Can .const be exported?
19:27 viklund joined #parrot
19:27 jonathan brb - dinner
19:49 particle joined #parrot
20:01 rurban twin city workshop? isn't that now polluted by fox tv?
20:02 rurban Ah, not in the US. you mean Vienna+Bratislava.
20:03 rurban Nov 7-8. I'm probably in Vienna at that time. The Viennale Filmfestival
20:03 jonathan Yes, I meant that one. :-)
20:07 rurban In my whole life I've only been to lisp and wiki conferences and workshops so far. So I have to start with some perl events somewhen.
20:08 rurban I guess it's dom  is organizing it.
20:09 Khisanth wiki conferences? so you can edit other people's talks and stuff? :)
20:10 rurban Yes. Unfortunately it ahhpens that I'm the maintainer of one the oldest and biggest engines no on uses anymore.
20:11 jonathan It's jointly organized by Vienna.pm and Bratislava.pm.
20:11 moritz which one?
20:11 purl THAT ONE!
20:11 rurban since wikipedia is not build with phpwiki, but with the mediocre mediawiki instead.
20:12 rurban wiki conferences are nice, because there are many beautiful girls
20:12 moritz it's the first open souce project of the mediawiki foks, and that shows
20:13 moritz (in my totally unbiased opinion, of course ;)
20:13 rurban well, mediawiki was created to build wikipedia, since every other engine refused to do that what jimbo wanted
20:14 rurban give up the 1:1 pagename - url representation e.g.
20:14 rurban space vs underscore
20:14 dalek r30766 | julianalbo++ | trunk:
20:14 dalek : cleaning of xlib.pir and dividing it in library, constants and test program files
20:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30766
20:17 Theory joined #parrot
20:33 cotto_work NotFound, the refactored xlib demo doesn't seem to work, even with a reconfigure
20:34 NotFound cotto_work: now requires to build xlib.pbc first.
20:35 dalek r30767 | allison++ | pdd27mmd:
20:35 dalek : [pdd27mmd] Convert 'repeat' to a regular opcode.
20:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30767
20:36 NotFound Or edit xlibtest.pir to load the pir instead.
20:37 cotto_work got it
20:38 NotFound One time I write pod doc and no one reads it ;)
20:39 Tene hope you've learned your lesson
21:01 apannu_ joined #parrot
21:02 dalek r30768 | allison++ | pdd27mmd:
21:02 dalek : [pdd27mmd] Converting logical 'and', 'or', and 'xor' to regular opcodes.
21:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30768
21:10 apannu_ joined #parrot
21:12 davidfetter joined #parrot
21:27 dalek r30769 | jonathan++ | trunk:
21:27 dalek : [rakudo] Free allocated memory in Perl6MultiSub, so we don't leak.
21:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30769
21:28 dalek r30770 | jonathan++ | trunk:
21:28 dalek : [rakudo] Fix trailing whitespace.
21:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30770
21:29 jonathan pmichaud: ping
21:43 err|busy joined #parrot
21:59 nopaste "NotFound" at 213.96.228.50 pasted "xlibtest.pl - Use xlib.pbc from nqp" (69 lines) at http://nopaste.snit.ch/13958
22:00 NotFound My first nqp code :)
22:01 moritz NotFound: how often did you accidentially use = instead of := ?
22:02 NotFound moritz: very few, I've used Pascal many times ;)
22:04 moritz ok, that can be an advantage sometimes ;)
22:08 NotFound That type of things can not be done in rakudo yet, it isn't?
22:09 moritz NotFound: rakudo doesn't (yet) do embedded PIR
22:13 NotFound I'm toying with the idea of writing a parrot minipascal.
22:14 particle1 joined #parrot
22:15 moritz well, why not? ;)
22:15 NotFound Ars long, vita brevis ;)
22:15 NotFound ... or something.
22:20 pmichaud jonathan: pong
22:21 jonathan pmichaud: OH HAI :-)
22:21 jonathan How's things?
22:21 pmichaud slow here -- been tired/dragging most of the week
22:21 jonathan Any news/stuff I should know?
22:21 pmichaud er, most of the past week.  Today's been better :-)
22:22 jonathan Have been near 100% offline for time I was in Romania/mountains.
22:22 pmichaud nothing much has changed since before your vacation, except (1) I refactored to avoid :immediate, and (2)   --target=pir now produces output that can be run standalone
22:22 petdance joined #parrot
22:22 pmichaud I'm probably going to refactor to get rid of $?INIT
22:22 jonathan (1) and (2) - nice
22:22 pmichaud I'm trying to figure out how to implement gather/take using .yield, but haven't quite succeeded there yet
22:23 jonathan I noticed that attach_sig (or whatever the call is called) is commented out for subs, but not methods.
22:23 jonathan It's been converted to be :load :init now.
22:23 pmichaud I didn't do that, I don't think.
22:23 jonathan Ah.
22:23 jonathan OK, maybe I did it and forgot. ;-)
22:23 pmichaud I noticed it also and thought "Huh."
22:23 jonathan OK, will look into it...didn't want to undo something you had done.
22:23 * jonathan is getting old...
22:24 jonathan Did you look at lazy branch at all?
22:24 pmichaud nope, I was being lazy.  :-)
22:24 pmichaud but I did think a lot about gather/take (which of course directly relates to laziness)
22:24 jonathan Did you do the other changes that related to arrays/lists (I think .keys and .values or something)?
22:24 jonathan Or not yet?
22:24 purl well volunteered!
22:24 pmichaud not yet
22:24 jonathan OK
22:25 pmichaud I really didn't do much this past couple of weeks.  :-|
22:25 jonathan Maybe I continue work on the lazy branch, then?
22:25 pmichaud yes, that would be fine
22:25 jonathan OK
22:25 pmichaud my plan is to finish some refactors with initializations, fix up exceptions a bit
22:25 pmichaud and inline PIR
22:25 pmichaud oh, also symbol exports
22:26 jonathan Inline PIR inside Rakudo?
22:26 pmichaud yes, inline PIR in rakudo -- primarily so we can be writing a lot more of the prelude in Perl 6
22:26 jonathan Win!
22:26 moritz indeed
22:26 jonathan Yes, want that very much.
22:26 pmichaud in particular, so we can get signatures and exports properly attached to the builtins
22:26 jonathan Right. :-)
22:26 jonathan That's why I very much want it.
22:26 pmichaud same here
22:26 moritz I'd really love to contribute more, but PIR is so cumbersome... ;)
22:27 jonathan To the degree that if it's not high on your hit list, I may task-steal...
22:27 jonathan I want to try and get this MMD grant done before I go to Russia.
22:27 pmichaud inline PIR and prelude are high on my hitlist
22:27 moritz jonathan: for prelude in Perl 6 it might be good to have 'class $class is also { ... }' working
22:27 GeJ pmichaud: sorry to interrupt, but would inline PIR in Rakudo allow, for example, using nci-generated bindings?
22:28 NotFound GeJ: have you seen my last paste?
22:28 pmichaud GeJ: probably, although I think the better approach to that is to have some wrapper methods to handle it
22:28 GeJ NotFound: I must have missed it sorry.
22:28 pmichaud ("is also")  -- basically, we just have to suppress the class creation code if "is also" is present, yes?
22:28 NotFound <nopaste> "NotFound" at 213.96.228.50 pasted "xlibtest.pl - Use xlib.pbc from nqp" (69 lines) at http://nopaste.snit.ch/13958
22:29 moritz pmichaud: probably, yes
22:29 jonathan Heh. That'd be one way to do it.
22:30 pmichaud it's a bit more work if we're adding attributes to an existing class, but that will involve some underlying Parrot object model changes anyway (discussed at YAPC::EU)
22:30 jonathan It'll work if the class hasn't been instantiated yet, as a first approximation...
22:30 pmichaud it should work if we're only adding methods
22:30 pmichaud even if instantiated
22:30 GeJ NotFound: utterly sexy... I love it. Thanks for the HEADS UP.
22:31 NotFound Not perl yet, but nqp is faster to write than pir.
22:31 pmichaud NotFound: those would probably work in rakudo if xlib were changed to Xlib or something with a capital letter
22:31 NotFound pmichaud: the namespace?
22:31 purl the namespace is, like, the internal namespace for things like $c->forward and template paths, anyway
22:32 pmichaud yes, and the .pbc file
22:32 NotFound pmichaud: some example I can borrow from?
22:32 pmichaud NotFound: I don't think there's an example yet -- this would be the first
22:32 pmichaud (other than Test.pm/Test.pir in rakudo)
22:33 NotFound I'll look at it tomorrow.
22:33 pmichaud I'll be glad to help
22:33 pmichaud but loading the library is essentialy    "use Xlib;"    :-)
22:34 NotFound Oh, yes, I remember reading something about using the capital as a shortcut,
22:34 pmichaud capitals are how rakudo currently recognizes namespaces and class names
22:34 pmichaud (it's a cheat, yes.)
22:35 moritz it works quite well in real life ;)
22:35 NotFound Tempted to try now, but must go to bed.
22:35 jonathan Class registry needed...
22:36 pmichaud no problem - I should be around all day tomorrow
22:36 pmichaud jonathan: TimToady has added symbol table handling into STD.pm
22:36 jonathan pmichaud: I noticed.
22:36 jonathan pmichaud: If it's me that does the class registry stuff, I will get as close to what TimToady did as I can.
22:37 pmichaud well, TimToady's doesn't work for lexically-scoped stuff yet either, so we have to consider that too.  (At least, that's what he reported on wednesday)
22:37 pmichaud I'm thinking it'll just be nicely dynamic :-)
22:38 pmichaud i.e., when we encounter a symbol in the parse, we go ahead and make a stub entry for it in the symbol table if one doesn't already exist
22:39 jonathan Makes sense.
22:39 jonathan It's going to need to be plenty more dynamic than it is now.
22:39 pmichaud oh, the other big news of the week is that we're now passing 2707 spectests (as of 17h40 ago)
22:39 pmichaud moritz++
22:40 pmichaud actually, more than that since S05 tests were added -- we probably broke 3000 today with that
22:40 moritz and about 200 more as of a few hours ago
22:40 moritz if it wouldn't segfault on later tests we'd easily gain another 150 or so
22:41 pmichaud yes, I'll want to look at that -- I think it might be a simple segfault
22:41 moritz (reported in RT #58578)
22:42 moritz the 500 calls to eval make that test a bit slow
22:43 pmichaud I might be able to enable the <$foo> syntax
22:43 moritz I don't consider it a blocker
22:44 pmichaud I was wondering how you were compiling the regexes... I forgot about eval :-)
22:44 moritz eval - the number one feature to fake missing features ;)
23:08 particle joined #parrot
23:18 tetragon joined #parrot
23:21 petdance joined #parrot
23:28 TiMBuS joined #parrot
23:37 kid51 joined #parrot
23:52 dalek r30771 | jkeenan++ | trunk:
23:52 dalek : Applying revised patch in RT 57920.  Have probe sleep for 4 seconds.  Note:  This is a bandaid, not a definitive solution.
23:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=30771

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

Parrot | source cross referenced