Parrot 6.8.0 "Little Lorikeet" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 17 September 2014.
01:35 FROGGS joined 01:46 FROGGS_ joined 02:21 sorear joined 02:33 bighugedog joined 02:46 kid51 joined 03:08 wagle joined 05:33 FROGGS joined 06:33 rurban joined 07:09 rurban1 joined 07:14 rurban joined
rurban FROGGS: I can now confirm your perl6-p --target=pir -e '{ sub prefix:<\\o/>($) { say 42 }; \\o/1 }' >nullpmc.pm.pir problem with \\\\o 07:22
07:23 FROGGS joined
rurban That's very likely a nqp-p bug 07:26
nqp double-quotes the lex name because it is in a string. wrong: .lex "&prefix:<\\\\o/>", $P103 old/good: .lex "&prefix:<\\o/>" 07:30
FROGGS okay... 07:32
rurban but I'm checking it in parrot first. looks fishy in parrrot also 07:38
the parrot testcases only deal with single-quoted names, like .lex 'foo' not .lex "foo" 07:39
nope, it's defineitly a parrot bug with double-quoted names only. single-quoted names, like .lex '&prefix:<\\o/>', $P103 do work fine 07:45
FROGGS okay... when you can point me to the right places in parrot I might be able to propose a patch... 07:48
rurban I filed a parrot issue #1095 07:56
FROGGS nice
rurban but I have no permissions to view or add to rt.perl.org/Ticket/Display.html?id=116643 07:57
FROGGS Coke: can you arrange that?
rurban probably not. p5p blocked me from RT 07:58
FROGGS O.o
so you are the guy that posts that russian spam :o)
rurban nope, I dared to criticize perl5
FROGGS ahh 07:59
rurban when I start criticizing perl6 they will block me also. The new age
FROGGS hehe
I keep an eye on you then *g*
rurban yes, critics are only allowed to do blog posts, so that everyone will see it. 08:01
FROGGS " Reportedly this worked in parrot before, but it could be a nqp change also." that is not true 08:02
I said that I can *make* it work by changing the generated .pir file
rurban "I get the "Null PMC access" errors only when putting the declaration in an extra block." 08:04
the extra block came from nqp
FROGGS no
rurban not? this causes it to be stored in a .lex now
FROGGS "sub prefix:<\\o/>($) { }" works while "{ sub prefix:<\\o/>($) { } }" doesnt
rurban yes, because if in a block it needs to be a .lex 08:05
And my guess is that this block came from nqp, not parrot. parrot always had this quoting problem is my theory
FROGGS so there is no rakudo or nqp change that uncovers this problem
rurban and the workaround would be to use single-quotes around .lex names 08:06
FROGGS hmmm
and then only one backslash?
rurban yes
FROGGS then we can't use parrot's .escape method anymore :/ 08:07
or we fiddle with the result of .escape, but that feels icky
rurban in the meantime I will try to get at the bottom of the "\\o" issue, which is a binary character
FROGGS and also, I had expected that the second test from issue #1095 would fail, not the third 08:08
rurban me also
so it's definitely weird
FROGGS yeah
dalek rrot/rurban/doublequoted-names-gh1095: 2947443 | rurban++ | t/compilers/imcc/syn/clash.t:
[test] add testcase for double-quoted lex names GH #1095

in perl6 the correctly double-quoted .lex "foo\\\\o", $P3 name fails to work. see rt.perl.org/Public/Bug/Display.html?id=116643 this might be caused by the switch from globals to lexicals, as this statement is now enclosed in a block.
in parrot the binary character \\0 causes problems in lexnames with roundtrips.
08:14
FROGGS eww, I've just seen this: 08:15
.lex "&prefix:<\\o/>", $P103
$P5004 = "&prefix:<\\\\o/>"($P5003)
this is from the pir code that works, mind
so, only .lex seems buggy
(I guess)
rurban yes. before it was a global. with the switch to .lex it started failing was my guess 08:17
FROGGS =item C<void declare_lex_preg(STRING *name, INTVAL preg)> 08:25
Declare a lexical variable that is an alias for a PMC register. The PIR
compiler calls this method in response to a ".lex STRING, PREG" directive.
where is that pir compiler?
rurban hmm, nobody uses that… 08:27
oh, nqp does: vm/parrot/pmc/nqplexinfo.pmc
we probably need to add some testcases for our lexinfo.pmc 08:29
I'm adding a test for this method in parrot now 08:39
hmm, I also don't see nqp nor perl6 using declare_lex_preg 08:51
FROGGS I just stumbled upon that while searching for how .lex is implemented 08:54
rurban but it works ok 09:04
I'm adding more torture tests... 09:05
09:23 slavorg joined 09:55 dalek joined
dalek rrot/rurban/lexqnames-gh1095: 234386d | rurban++ | / (4 files):
[test] Added LexInfo.declare_lex_preg and more imcc/syn/clash.t tests

For GH #1095
global names do work fine, only lexicals not. Note I do not know how to reliable get the correct target register index for declare_lex_preg in pure pir, and how to initialize it. Setting it crashes the ctx.
10:10
10:14 bighugedog joined
dalek rrot/rurban/make-codas: f750baa | rurban++ | config/ (2 files):
[build] Change darwin build flags to enable gdb debugging

compile parrot_old static. use this for debugging with gdb. keep -undefined dynamic_lookup only for dynamically loaded bundles. honor cmdline flags for --ld and --link.
and move deletion of generated config and makefiles from archclean to realclean/distclean. we want to delete all object and executables only there.
10:19
rrot/rurban/make-codas: c959b8a | rurban++ | / (9 files):
[cage] add makefile codas also to the Defines.mak
rrot/smoke-me/darwin-gdb-gh1096: d2ad859 | rurban++ | config/ (2 files):
[build] Change darwin build flags to enable gdb debugging

compile parrot_old static. use this for debugging with gdb. keep -undefined dynamic_lookup only for dynamically loaded bundles. honor cmdline flags for --ld and --link.
and move deletion of generated config and makefiles from archclean to realclean/distclean. we want to delete all object and executables only there.
See [GH #1096]
10:23
10:28 travis-ci joined
travis-ci [travis-ci] parrot/parrot#1114 (smoke-me/darwin-gdb-gh1096 - f750baa : Reini Urban): The build has errored. 10:28
[travis-ci] Change view : github.com/parrot/parrot/compare/s...gdb-gh1096
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/37380598
10:28 travis-ci left 10:43 travis-ci joined
travis-ci [travis-ci] parrot/parrot#1115 (smoke-me/darwin-gdb-gh1096 - d2ad859 : Reini Urban): The build passed. 10:43
[travis-ci] Change view : github.com/parrot/parrot/commit/d2ad8596cf9f
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/37380644
10:43 travis-ci left
rurban travis had a weird hickup 10:46
11:00 bighugedog joined 11:15 d4l3k_ joined 11:17 dalek joined
dalek rrot: da59708 | rurban++ | / (9 files):
[cage] add makefile codas also to the Defines.mak
11:18
11:18 autark_ joined 11:33 travis-ci joined
travis-ci [travis-ci] parrot/parrot#1116 (master - da59708 : Reini Urban): The build passed. 11:33
[travis-ci] Change view : github.com/parrot/parrot/compare/3...597081356f
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/37384375
11:33 travis-ci left
dalek rrot: 92fd147 | rurban++ | config/gen/makefiles/root.in:
[build] opsrenumber.pl is long gone

remove the make target
11:38
11:54 travis-ci joined
travis-ci [travis-ci] parrot/parrot#1117 (master - 92fd147 : Reini Urban): The build passed. 11:54
[travis-ci] Change view : github.com/parrot/parrot/compare/d...fd147ee3d2
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/37386236
11:54 travis-ci left
dalek rrot/smoke-me/darwin-gdb-gh1096: 679ffc7 | rurban++ | t/compilers/imcc/syn/clash.t:
[test] add testcase for double-quoted lex names GH #1095

in perl6 the correctly double-quoted .lex "foo\\\\o", $P3 name fails to work. see rt.perl.org/Public/Bug/Display.html?id=116643 this might be caused by the switch from globals to lexicals, as this statement is now enclosed in a block.
in parrot the binary character \\0 causes problems in lexnames with roundtrips.
12:09
rrot/smoke-me/darwin-gdb-gh1096: 1a0d496 | rurban++ | / (4 files):
[test] Added LexInfo.declare_lex_preg and more imcc/syn/clash.t tests

For GH #1095
global names do work fine, only lexicals not. Note I do not know how to reliable get the correct target register index for declare_lex_preg in pure pir, and how to initialize it. Setting it crashes the ctx.
rrot/smoke-me/darwin-gdb-gh1096: 1d8d02a | rurban++ | config/ (2 files):
[build] Change darwin build flags to enable gdb debugging

compile parrot_old static. use this for debugging with gdb. keep -undefined dynamic_lookup only for dynamically loaded bundles. honor cmdline flags for --ld and --link.
and move deletion of generated config and makefiles from archclean to realclean/distclean. we want to delete all object and executables only there.
See [GH #1096]
12:24 travis-ci joined
travis-ci [travis-ci] parrot/parrot#1118 (smoke-me/darwin-gdb-gh1096 - 1d8d02a : Reini Urban): The build passed. 12:24
[travis-ci] Change view : github.com/parrot/parrot/compare/6...8d02ac191e
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/37388734
12:24 travis-ci left
Coke rurban: I can only make people bugadmins on perl6 RT. I don't have any finer grained control. 14:58
15:53 Chirag joined
rurban Coke: no prob 16:12
I am now at the bottom of the imcc parser bugs with quoted names. Updated github.com/parrot/parrot/issues/1095 16:13
dalek rrot/rurban/lexqnames-gh1095: a41c105 | rurban++ | t/compilers/imcc/syn/clash.t:
[test] add testcase for immc parser bug even with globals

Also updated [GH #1095]
16:15
16:30 FROGGS joined
dalek rrot/rurban/lexqnames-gh1095: 4219e53 | rurban++ | / (2 files):
[test] just clarifying comments about the parser
18:25
FROGGS rurban++ 18:30
18:51 rurban joined
FROGGS Linked: parrot-ops2c 19:23
./ops2c --dynamic src/dynoplibs/bit.ops --quiet
make: ./ops2c: Kommando nicht gefunden
make: *** [src/dynoplibs/bit_ops.c] Fehler 127
:o(
hmmm
maybe I need to reconfigure?
probably
I am testing this right now: gist.github.com/FROGGS/8339a718c471294aea47 19:47
parrot tests are fine, nqp built and rakudo builds right now...
I am surprised that it compiles at all, so I wonder if that will even fix our problem here 19:48
okay, rakudo also compiles but the bug stays :o) 19:53
21:00 khisanth_ joined 22:24 kid51 joined 23:59 dalek joined