Parrot 2.6.0 | parrot.org Log: irclog.perlgeek.de/parrot/today | Nopaste: nopaste.snit.ch:8001 | fix 'make html' (talk to Coke), update tutorial (talk to tcurtis)
Set by moderator on 21 July 2010.
cotto wonders if there's any way we could get 4-byte ops, and if said way would be worth the headache. 00:00
probably not 00:02
particle 4-byte? just pad them.
cotto I mean one byte for the instruction and one for each arg 00:03
particle think of it like the whitespace between tv channels. google thought of a way to use that
oh.
yes, we can support 16-bit architectures only.
chromatic 4-byte ops are a nice size.
particle er, 8-bit
cotto That'll make the eventual Parrot/NES implementation easier. 00:04
I don't have any issues with padding in bytecode if it's necessary. 00:05
It could work with a sane concept of register spilling. 00:06
Coke cotto: pprof2cg.pl isn't installed, it seems.
particle that's not untrue.
cotto high praise
Coke, ow
Coke, can you fix it? I need to make my place look sane for company. 00:07
Coke I can open a ticket. =-) 00:08
cotto If you want to test for the bug, you can grep the pprof file for something tcllist.*TclConst 00:09
it's just an ascii text file 00:10
dalek TT #1715 created by coke++: pprof2cg.pl not installed 00:23
TT #1715: trac.parrot.org/parrot/ticket/1715
Coke cotto: anything to be done to speedup pprof2cg.pl itself? 00:32
cotto not much apart from rewriting it in c. 00:41
It's been pretty nicely optimized.
chromatic Processing less data will help.
cotto The perl version seems pretty fast after running the nqp port. 00:44
chromatic It's IO bound. 00:45
atrodo cotto> sorry, I had to go before I was able to respond 00:46
but i was able to think more about it, and i don't think i came to any good conclusions 00:48
00:50 kid51 joined
Coke any kcachegrind users? 01:02
cotto hi 01:04
what about it? 01:05
Coke so, what's "inc", "self"? called is # of calls, and function is the name. 01:06
is self time spent just in self.
(and is it average? totoal?) 01:07
cotto incl is the percentage of the total time what you're looking at has 01:09
(or the instruction count, depending on if you have "% relative" pressed
self is how much time was spent in the function itself, excluding any children 01:10
iirc
01:15 ismarc_mobile joined 01:16 rurban_ joined
Coke cotto: non-inclusive, biggest user in rakudo startup is "Perl6;Cool" ... but with no function name. wtf? 01:31
01:40 ilia joined 01:42 TiMBuS joined
dalek TT #1714 closed by jkeenan++: in OSX snow leopard, Configure.pl stops on step#29 auto::va_ptr 02:35
TT #1714: trac.parrot.org/parrot/ticket/1714
02:42 janus joined
dalek n: 7b6a72a | Jarrod++ | src/ (10 files):
Fixes for the newer parrot. Doesn't correctly parse code due to nqp-rx
02:49
TiMBuS woah 02:57
03:06 theory joined 05:13 theory joined
cxreg Null PMC access in invoke() 06:12
o_O
cotto cxreg, what are you doing? 06:13
(apart from trying to invoke a Null PMC, obviously)
cxreg cotto: trying to use SPI from plparrot :D 06:14
that happens when i execute the native function
exec = get_root_global ['PLParrot';'SPI'], 'SPI_execute' 06:15
res = exec('select 1', 1, 1)
the exec() call
cotto That means it's not finding PLParrot::SPI.SPI_execute 06:16
06:18 snarkyboojum joined
nopaste "cxreg" at 192.168.1.3 pasted "SPI in plparrot" (17 lines) at nopaste.snit.ch/22264 06:19
cxreg cotto: that's the place where it's supposedly loaded
i know the sub is run, but I suppose it's possible the dlfunc is failing 06:20
cotto loadlib $P1, ''
Why's that empty? 06:21
cxreg because the symbols are in the "main program", not a .so
supposedly that's how you access it
cotto It looks suspicious. Do any other functions from the library work? 06:23
cxreg this is my first attempt 06:24
how do you get a NULL?
that's what the underlying call is really expecting 06:25
in perl6's zavolaj, i've used pir::null__P() to make such a thing work
rakudo's that is
cotto in nqp you can use pir::null to get a null value 06:26
so it working the same way in Rakudo wouldn't be surprising
cxreg what about in pir?
cotto in pir it'd just be $P0 = null
cxreg hm ok
well, i can get it to go from a Null PMC access to a segfault, not sure if that's progress ;) 06:30
dalek kudo: 369f1e0 | pmichaud++ | src/builtins/control.pir:
Refactor &return, &next, &last, &redo.
kudo: da9910a | pmichaud++ | src/builtins/MapIter.pir:
Add loop control handling to MapIter.
kudo: 27f7a5b | pmichaud++ | src/builtins/MapIter.pir:
Some next/last bugfixes for .map .
cotto variety is the spice of debugging
cxreg gdb thwarts me though 06:31
cxreg keeps poking it
cotto good for you 06:32
cxreg are you mocking me? :) 06:33
plparrot is pretty young but I'm excited about it
cotto only for testing purposes
I hope mod_parrot gets resurrected once Parrot stabilizes some. 06:34
cxreg you don't think it's stable enough now? 06:35
jhorwitz made decent progress last fall 06:36
cotto I'm thinking after Lorito lands and we get Parrot flying a bit faster. 06:37
07:00 Casan joined
dalek p-rx: 11e10ac | moritz++ | src/Regex/Cursor.pir:
Fixt RT #75484 - random incomplete Match objects

oha++
07:04
p-rx: f8bc67e | moritz++ | src/stage0/ (4 files):
update bootstrap files with fix for RT #75484
07:04 dzoe joined
dzoe Hello 07:07
I just downloaded 2.6.0 and tried compiling it, but it fails at the same point as trac.parrot.org/parrot/ticket/1706 - but not with segmentation fault, just with "Malformed string" from miniparrot config_lib.pir 07:08
Is this the right place to get help / help with it? 07:09
cotto are you doing a parallel build? 07:10
dzoe (Ubuntu 10.04, stock perl v5.10.1 (*) built for x86_64-linux-gnu-thread-multi, gnu toolchain gcc 4.4.3 binutils 2.20.1)
cotto that's occasionally wonky
dzoe Like make -jX ? 07:11
cotto yes
dzoe No
Plain old make
cotto ok
moritz dzoe: have you tried starting from a clean checkout? 07:12
dzoe Also nothing suspicious during Configure.pl phase
moritz ie rm -rf parrot parrot_install; perl Configure.pl --gen-parrot
cotto no previous installed Parrot?
dzoe Actually this is a clean parrot-2.6.0.tar.gz downloaded few minutes ago 07:13
And no previous installation.
moritz ok
dzoe I've been following the news for about two years but started to play today.
moritz assumed the same setup as the ticket, which doesn't apply
cotto can you nopaste the output? 07:14
tools/dev/nopaste.pl
purl hmmm... tools/dev/nopaste.pl is an easy way to do it
dzoe I can paste it here ;-) it's two lines:
$ ./miniparrot -Iruntime/parrot/include config_lib.pir > runtime/parrot/include/config.fpmc
Malformed string
With -D it's the same, can I make miniparrot more verbose? 07:15
cotto what's config_lib.pir look like?
can you nopaste that?
Yes, the error is lta.
dzoe That would need nopaste, gimme a sec
cotto np 07:16
dzoe I have to resolve nopaste.pl's dependencies...
cotto you can use the web interface if that's easier 07:17
nopaste?
purl nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or paste.scsys.co.uk or www.extpaste.com or gist.github.com or App::Nopaste or codepeek.com/paste/ or (: pastebot)
dzoe 276 lines?
I think I can handle installing dependencies ...
cotto depends on your copy/paste buffer
sure, but it's an annoyance
dzoe Finished annoyance anyway.
Ok running 07:18
cxreg oh i'm a dumbass 07:19
dzoe Should I paste the url or does some bot do this in a second?
cxreg get_root_global needs to start with 'parrot';
cotto cxreg, sounds like progress
cxreg cotto: yeah, loadng the right namespace helps
cotto the nopaste bot should have put it here
if not, copy/.paste here 07:20
dzoe nopaste.snit.ch/22266
cxreg oh man
i cant wait until ash's new nci stuff is done 07:21
No NCI thunk available for signature 'itii'
cotto looks reproducible
I see the problem. The non-ascii characters in your prefix aren't being handled properly. 07:22
I had a fix for something like that. Lemme see if I can dig it up. 07:23
dzoe Oh, so simple ...
cotto dzoe++
karma dzoe 07:24
purl dzoe has karma of 1
cotto thanks for reporting
dzoe You're welcome. I can build it in a different directory (of course), but if you find the fix, I'll test it too. 07:25
cxreg cotto: as it turns out, '' was the right arg to loadlib 07:28
fyi
cotto ok. I don't know the loadlib system especially well. 07:30
dzoe, what's the name of your home dir?
or prefix?
dzoe Does this channel handle utf-8?
cotto it should
dzoe /home/joe/Stažené/parrot-2.6.0
cotto happy face
purl ☺
dzoe nice :)
That's the directory I have parrot sources in. 07:31
moritz maybe if we can't fix it easily, we could at least warn in Configure.pl
dzoe (The third component means 'Downloaded')
07:32 fperrad joined
dzoe Actually if I wasn't lazy and downloaded it as usual into ~/Install, I wouldn't find it ... lazyness is really a force of progression. 07:33
cotto If it can be detected, the fix is easy.
moritz detection is a simple regex 07:34
/[^0-\\7F]/
erm, \\x0-\\x7F 07:36
or so :-)
cotto ok
just going to ask
moritz "simple", you know... unless you do it wrong :-)
cotto Something's goofy. A string with special characters shouldn't be getting into config_lib.pir without an encoding 07:39
I see the problem. 07:40
moritz is it easy to just assume binary? 07:41
cotto It's not the prefix. It's the build dir
I guess so.
That's what the code does.
moritz a prefix with spaces also blows all up
dzoe Yes, that's what I meant by "That's the directory I have parrot sources in."
cotto moritz, really? I'd expect better. 07:42
sad face
purl ☹
moritz it puts things like
PREFIX = /home/moritz/tmp/spacey prefix
in the Makefile
cotto *sigh* 07:44
It looks like this delves a bit beyond what I'm coherent enough to fix atm. 07:47
moritz it seems that gnu make is actually happy with those unquoted spaces 07:50
dzoe Ok, I built it in a different directory and /usr/local prefix and it works like a charm.
Should I file this bug?
cotto please do 07:51
dzoe Ok
cotto basically, config/gen/config_pm/config_lib_pir.in needs to be made smart enough to properly prepend binary: to the pwd if it has non-ascii characters
moritz ah, I now see the problem with spacey prefixes 07:55
$(LINK) -o $@ \\
src/main$(O) src/install_config$(O) \\
-Wl,-rpath=/home/moritz/tmp/spacey prefix/lib $(ALL_PARROT_LIBS) $(LINKFLAGS
cotto easy fix then 07:56
moritz++ 07:57
moritz I'll open a ticket, justin case
cotto seems unnecessary 07:58
moritz trac.parrot.org/parrot/ticket/1716 07:59
cotto: I kinda suspect that other places in Makefile will be problematic too 08:00
dzoe Stupid question ... what's the severity of my problem? Workaround is so easy that I'm tempted to write medium/low, what do you think?
moritz low works
cotto +1
purl 1
moritz install-dev-only: installable 08:01
$(PERL) tools/dev/install_dev_files.pl \\
--buildprefix=$(BUILDPREFIX) \\
I'd be surprised if that doesn't blow up
dzoe joe doesn't like parrotbug ... or parrot bug 08:06
*** glibc detected *** jmacs: free(): invalid next size (fast): 0x00000000009a7600 ***
I just pasted the last things from make run and it crashed.
cotto it's ill-used
cxreg ok, so SPI has some weird quirks. for returning tuples, instead of manipulating pointers passed in or out of the function, it sets a global 08:07
is there a NCI-friendly way to access C globals?
cotto does dlvar work? 08:08
dalek TT #1716 created by moritz++: Parrot won't install when there's a space in the --prefix path 08:09
TT #1716: trac.parrot.org/parrot/ticket/1716
cxreg hm, good question 08:10
purl Yeah, it is. I'm stumped.
08:11 jsut joined
dalek TT #1717 created by dzoe++: Parrot compilation fails on './miniparrot config_lib.pir' when there are ... 08:26
TT #1717: trac.parrot.org/parrot/ticket/1717
dzoe Good, seems I didn't cock it up. 08:27
cxreg cotto: so the answer is yes, dlvar works. the downside is, it contains opaque crap that i need C code to grok. sigh. 08:28
cotto goodie 08:35
08:59 JimmyZ joined
dalek kudo: f16df61 | pmichaud++ | src/ (2 files):
Refactor Block.arity and Block.count; we now compute and cache it as
09:14
kudo: 7d181b9 | pmichaud++ | src/builtins/Signature.pir:
Fix forgotten goto after counting slurpy param.
kudo: b0e743b | pmichaud++ | src/Perl6/Actions.pm:
Switch statement_control:sym<for> to use ".map" instead of :pasttype<for>.

of continuity and compatibility until sink is more fully in place
  (coming next).
09:16 rurban_ joined 09:29 jan joined
dalek rrot: r48170 | khairul++ | failed to fetch changeset:
Sync with trunk
10:30
10:57 whiteknight joined 11:51 khairul joined
dalek kudo: 9c4a3c8 | moritz++ | src/Perl6/ (2 files):
allow compilation of :g(1) in s///

Patch mostly by jnthn++
11:57
kudo: 3f03fec | moritz++ | src/core/Match.pm:
preserve .ast in Match.new. Implement eqv for matches
12:15 user_4640 joined, JimmyZ joined 12:41 gbacon joined 12:47 macroron joined
dalek kudo: 96a0ffe | moritz++ | (5 files):
allow all the adverbs on s/// that Cool.subst understands
13:18
13:36 bkuhn joined
dalek p-rx: 43942d0 | snarkyboojum++ | src/Regex/P6Regex/Grammar.pm:
Update "obsolete error" message

Perl 6 usage.
13:50
purl dalek: that doesn't look right
p-rx: 964a1b0 | snarkyboojum++ | src/Regex/P6Regex/Grammar.pm:
Change message for incorrect character range usage
purl dalek: that doesn't look right
14:03 tcurtis joined
dalek p-rx: 88f0d0d | snarkyboojum++ | t/p6regex/rx_ (2 files):
Update tests for obsolete/unsupported messages
14:47
purl dalek: that doesn't look right
kudo: c3d62c0 | moritz++ | README:
[README] a few updates regarding patch creation, tylercurtis++
15:04
15:05 whiteknight joined
dalek kudo: b20bcae | moritz++ | README:
[README] various small udpates: link to CREDITS, mention perl6 --version, and
15:09
kudo: 6caf77f | moritz++ | README:
[README] link to download section directly; remove senetence about no longer
15:15
15:24 patspam joined
dalek kudo: 928f9da | moritz++ | t/spectest.data:
run two more test files
15:50
rrot: r48171 | khairul++ | branches/gsoc_instrument (8 files):
Added tests for InstrumentVtable + Regenerated vtable stubs.
16:33
cotto ~~ 16:55
17:03 theory joined 17:17 rurban_ joined
dalek kudo: 667781a | (Solomon Foster)++ | src/core/operators.pm:
Port patrickas++'s series operator patch to master. This enables testing for

geometric series absolute value test as well.
17:23
kudo: 2f7b8bc | jonathan++ | src/Perl6/Module/Loader.pm:
Fix imports of multis, such that they incorproate lexically outer-scoped

without it hiding all the infix:<+> from the setting.
17:29
kudo: a37a5e4 | (Jan Ingvoldstad)++ | README:
Info about "git pull" and quick-and-dirty build problem resolution
kudo: 926a08e | moritz++ | src/Perl6/Grammar.pm:
give NYI message for HyperWhatever
17:58 kraai joined 18:05 chromatic joined 18:22 s1n joined
dalek kudo: a22f027 | moritz++ | t/spectest.data:
run warn.t
18:27
18:32 davidfetter joined
dalek kudo: a9db7c0 | (Matt Kraai)++ | build/Makefile.in:
Make the clean target remove perl6_group.* and src/binder/bind.o.
18:39
18:42 GeJ_ joined 18:47 [1]Casan joined 18:50 slavorgn joined 18:54 hanekomu_9 joined 18:56 lucian joined 19:10 dalek joined
tcurtis leaves. 19:19
oops, typo.
davidfetter eats, shoots, and leaves
Tene sets mode -pandas
davidfetter heh 19:20
dalek kudo: 4cdba6b | jonathan++ | src/Perl6/Actions.pm:
Make the LHS be the topic when evaluating the RHS for the smart-match operator.
19:22
19:34 eternaleye joined 19:57 patspam joined
dalek kudo: f7fdd51 | moritz++ | src/glue/enum.pm:
Revert "[src/glue/enum.pm] return the right things"

It broke lots of stuff wrt loaded modules, which would segfault. I don't know if this commit was actually to blame, or if it only exposed bugs, but the result was not acceptable. Sorry.
20:16
20:54 Chandon joined 21:39 contingencyplan joined 21:58 slavorgn joined 22:02 GeJ joined 22:19 kraai joined 22:24 Austin joined
Austin Hello, #parrot. 22:25
tcurtis Hi, Austin.
Austin How the hell is it possible that with 100 channels of digital cable, the best show on at this time is a workout informercial? 22:26
dalek ee-optimization: 2bacb68 | tcurtis++ | src/Tree/Walker.nqp:
Add comment describing why Tree::Walker only traverse the array part.
22:27
ee-optimization: d29a1b8 | tcurtis++ | src/Tree/Transformer.nqp:
Explain the defined check in replaceChildren and the need for the
ee-optimization: e754f90 | tcurtis++ | src/Tree/Pattern.nqp:
Explain the tricky details of patternize.
chromatic Saturday afternoon is the vast wasteland of the human soul. 22:30
22:32 [1]Casan joined
tcurtis chromatic: Minimal Perl 5 in Not Quite Perl 6 sounds interesting. 22:47
chromatic I think it can support overload, and it should be possible to support tie. 22:51
Some of the weird dative syntax might not be worth supporting. 22:52
22:53 Chandon joined 22:55 eternaleye joined 22:56 hanekomu_9 joined 23:06 contingencyplan joined 23:07 contingencyplan joined
GeJ Bonjour everyone. 23:14
23:16 plobsing joined 23:57 Psyche^ joined