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