Parrot 5.0.0 "Johnny Five Alive" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 23 January 2013.
dalek rrot/sixparrot: 668633f | allison++ | src/pmc/float.pmc:
Remove multidispatch from Float PMC.
00:44
01:19 Reini joined 01:20 Reini left 01:47 Reini joined 02:16 MikeFair joined
cotto ~ 02:26
dalek rrot/sixparrot: ffedeed | allison++ | / (4 files):
Remove multidispatch from PackfileConstantTable PMC.
03:12
rrot/ops2c-necromancy: a2fcb5c | cotto++ | lib/Parrot/Op.pm:
[ops2c] remove some code to deal with non-existent subclasses
03:20
rrot/ops2c-necromancy: e50240d | cotto++ | / (2 files):
[ops2c] finish making dynops work, update the dynops makefile accordingly
rrot/ops2c-necromancy: fc6d8b9 | cotto++ | lib/Parrot/Op (2 files):
[ops2c] add write barrier support, make generated code less terrible
benabik ... less terrible? 03:21
cotto a bit hyperbolic
it's mostly the same as what opsc generates now 03:22
now to see how it does on the core ops
benabik Boom goes the code
cotto I'm not at Boom yet. I still have to sneak it past gcc. 03:25
ironically opsc was papering over a minor syntax error in an op definition 03:38
benabik ?
It accidentally fixed it?
cotto seems to
04:12 dngor joined 04:47 preflex_ joined 04:52 Reini joined
dalek rrot: 1bb7341 | moritz++ | config/inter/libparrot.pm:
[configure] quote libdir path for inst_libparrot_linkflags

otherwise pbc_to_exe does not work with spacey paths when installed
05:05
05:05 Reini joined 05:07 bonsaikitten joined
bonsaikitten good day. Could someone please help me figure out why parrot 5.0.0 Configure.pl refuses to see perldoc ? 05:08
Reini bonsaikitten: it looks for perldoc in perl -V:scriptdirexp 05:23
and only there, not in the path
bonsaikitten Reini: ok, let me check that 05:24
-Dscriptdir=/usr/bin and /usr/bin/perldoc 05:25
any way to see what the autodetection tries to do or why it fails?
Reini perl -d Configure.pl
c 58 05:26
c auto::perldoc::runstep
n
perl -d configure.pl/ —verbose-step=auto::perldoc 05:28
is also helpful
without the http
perl -d Configure.pl —verbose-step=auto::perldoc 05:29
bonsaikitten hrm
the debugger doesn't print anything that tells me more (yet) 05:30
with --verbose=2 I get this output for the perldoc test: dpaste.com/944161/ 05:33
which still doesn't tell me why 05:34
Reini you have to check in the debugger which part fails
bonsaikitten that assumes I understand what the debugger throws at me :\\ 05:36
Reini step through it (s) and e(x)amine the data
That's simple kid51-style perl5
bonsaikitten it's horribly un-user-friendly :)
Reini yes, it is. 05:37
bonsaikitten doesn't even tolerate ctrl-c or other commands
Reini q is for quit
maybe you are missing Term::ReadKey
bonsaikitten hmm, let me check
Reini Term::ReadLine is also useful 05:39
Term::Rendezvous is also useful sometimes 05:40
bonsaikitten Term::Read{Line,Key} don't change anything 05:41
Reini hmm, then you have to live with the perl5 debugger asis 05:42
bonsaikitten and people told me autools is difficult ;) 05:43
Reini well, we assume parrot hackers have perl5 development knowledge
you cannot do everything inside gdb
Devel::Trepan is a gdb-alike perl debugger 05:44
bonsaikitten I'm not really a perl hacker, just a packager ... so for me this is needlessly opaque and overcomplicated
Reini with more sane key associations
for which platform?
bonsaikitten linux/amd64 05:45
Reini debian/redhat/... ?
bonsaikitten Gentoo
Reini Gentoo does not do binary packages imho, just recipes
ebuild's 05:46
bonsaikitten yes, but the problem is that I can't reproduce a bug because on my system it never detects perldoc
Reini but you can run perldoc?
bonsaikitten that's like two bugs in one
yes, perldoc runs fine, that's what makes it so frustrating
Reini and you need to run /usr/bin/perldoc
I have to go sorry. american timezon 05:47
bonsaikitten that's the funny part, it is /usr/bin/perldoc
06:10 xcombelle joined 06:17 Reini joined 07:08 Mike-PerlRecruiter_ joined 07:17 PacoAir joined
dukeleto bonsaikitten: howdy 07:17
bonsaikitten dukeleto: hello. do you have any good ideas how to debug my perldoc troubles? 07:20
dalek rrot: 06510e2 | dukeleto++ | ChangeLog:
[doc] Update changelog
07:29
dukeleto bonsaikitten: strace ? 07:30
bonsaikitten: what does "type perldoc" and "echo $PATH" say ? 07:32
bonsaikitten # type perldoc 07:38
perldoc is hashed (/usr/bin/perldoc)
# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin
so that all looks pretty boring and ok
08:53 cosimo joined 10:15 bouncy joined 12:01 xcombelle joined 12:03 xcombelle_ joined 12:26 mberends joined
dalek kudo/nom: 018b73b | moritz++ | src/Perl6/ (2 files):
warn about variables in sink context
12:41
13:19 Reini joined, Reini left 14:01 PacoAir joined 14:21 Psyche^ joined 14:33 bluescreen joined 14:38 contingencyplan joined 14:42 bluescreen joined 14:43 bluescreen_ joined 14:46 PacoAir joined 15:58 kid51 joined 16:35 dmalcolm joined 16:59 davidfetter joined
Coke ah. my addrresgistry issue was because I edited src/pmc/pmc.num. weird. 17:33
dukeleto ~~ 18:14
bonsaikitten: strace perl Configure.pl &> foo.log and put that output into a paste/gist 18:17
cotto 'morning, dukeleto
dukeleto allison: is there an explanation somewhere about why multiple dispatch is being removed from various PMCs in the sixparrot branch? Because Rakudo doesn't use it? 18:18
cotto: mornin'
allison dukeleto: because Rakudo doesn't use it *and* it's dog-slow
dukeleto: and in every case where I've removed it so far, entirely unnecessary 18:19
dukeleto: just wasted memory and CPU
cotto allison: will we need to remove nqp-rx before mmd can go away?
allison cotto: not necessarily
cotto: there are multiple parts of mmd
cotto: so, we can remove it in stages 18:20
dukeleto: as an example, in the PackfileConstantTable, we were first checking the type of the arguments, then constructing an mmd dispatch call, then dispatching to mmd, which then checked the type of the arguments again, and constructed a call to the right variant, *which we already knew at the first type check* 18:21
kid51 is so happy to see serious discussion back of our technology back on #parrot :-)
dukeleto allison: sounds quite inefficient 18:25
allison dukeleto: yes
dukeleto submitted a PR to add Parrot 5.0.0 to homebrew: github.com/adamv/homebrew/pull/11 18:26
is that the only "port" that is outside of parrot.git ? 18:27
dalek rrot/sixparrot: 3932060 | coke++ | / (2 files):
Remove no-longer needed tool from 2008
18:36
rrot/sixparrot: 9040879 | coke++ | / (8 files):
Remove bignum PMC
Coke old school reminder: when deleting PMCs, if you want to remove all traces of them, run "tools/dev/pmcrenumber.pl src/pmc/pmc.num"
(because removing an old number without renumbering will cause incorrect deps to be generated) 18:37
cotto all these old silly gotchas are coming back to me 18:38
Coke I'm hoping that if allison can fix the issue she was seeing, that we can pull that back into master with no ill effects and a speedup.
cotto: you were hacking on resurrecting ops2c, yes? any chance that can land in sixparrot soon? (thanks, btw, I had that on my list this weekend, was glad to see you grabbed it!) 18:40
cotto Coke: I'm probably about 10 tuit-hours away from having it mergeable.
so probably Wed at the earliest 18:41
Coke good enough for me. Danke!
cotto Coke: you can jump in if you like. I'm pushing whenever I make progress. 18:42
speaking of which 18:43
dalek rrot/ops2c-necromancy: 408c00e | cotto++ | src/ops/math.ops:
[ops2c] fix a typo in an op
rrot/ops2c-necromancy: b64dc69 | cotto++ | lib/Parrot/OpTrans/C.pm:
[ops2c] fix the other two const translators
Coke plenty of LHF. :) 18:44
I'm going to work on merging something else I've had my eye on for a while.
cotto The build currently uses ops2c.pl for dynops. I'm debugging a few smaller issues wrt symbol visibility from core_ops.c .
It's fairly straightforward work. Just run perl tools/build/ops2c.pl C --core && git diff src/ops/core_ops.c and hack until the differences aren't important. 18:47
dukeleto Evidently calling Parrot dead creates lots of commit activity. May the Zombie Parrot feed on the corpse of your favorite language! 18:58
atrodo dukeleto++
cotto I hope Util++ uses that as the name of the 5.1 release. 19:00
atrodo I'm not real confident in my ripping out of nci. I know it builds rakudo and rakudo passes, but I'm not sure if I got everything I should have. Should I push to sixparrot or do a PR? 19:01
kid51 Zombie Parrot++
cotto also, serious karma for anyone willing to resurrect aloha. coke and I have dumps of the data and the code is on github.
atrodo: what about Rakudo's spectest?
atrodo cotto: Passes exactly as well as it does before I started
cotto atrodo: nice 19:02
atrodo cotto: it has some failures, but it was exact same failures that were there with a fresh sixparrot
cotto atrodo: also same as parrot master?
atrodo cotto: I will double check 19:03
cotto either way, that's promising
19:08 Mike-PerlRecruiter_ joined 19:17 alester joined
Coke if you're unsure, push it to a branch other than sixparrot and people can play with it. 19:22
cotto atrodo: if you do that, use a branch name prefixed with "sixparrot". 19:25
atrodo That sounds like a plan
Coke having parrot required to build the parrot executable via bootstrap is somewhat annoying. 19:31
cotto Coke: yup. I'm working on it.
Coke (trying to merge in a somewhat stale branch, which necessitates changes some winxed code, so to fix that, I have to have a working parrot to regen the pir, but I'm in the middle of ...)
atrodo turtles all the way down 19:32
Coke eh. I'll just mark that one generated PIR file as "pick theirs", and fix it post-merge.
cotto atrodo: www.youtube.com/watch?v=a6da5H0U3Vs
atrodo cotto: :D That is awesome 19:33
19:35 PacoAir joined
dalek Heuristic branch merge: pushed 988 commits to parrot/coke/rm_pasm by coke 19:36
cotto be still my beating heart 19:37
but not too still 19:38
I don't want to die
19:39 ctult_ joined
ctult How fast is Parrot compared to a low-level language? 19:40
PerlJam ctult: that question doesn't contain enough detail to make sense to me. 19:44
ctult: it's ... >< that fast. :)
cotto ctult: your question makes too many assumptions to be answerable as-is. What's your interest in Parrot? 19:45
ctult I am writing a high-level VM that compiles to JS(web) and CLR(Xbox). I need a reasonably-fast VM for general non-web use. I was thinking about using LLVM, then I saw this project, which looks simpler and has better Windows support. 19:47
cotto ctult: it'd be a lot of work to get Parrot into shape to target js and clr, neither of which it does right now. I'm not sure that Parrot would serve you well for this project. 19:54
Is this a for-profit project with a budget or a hobby? 19:56
20:00 benabik joined
cotto hio benabik 20:02
benabik o/ cotto 20:03
Coke ~l. 20:06
20:08 benabik_ joined
benabik Guh. My Uni network hates me today. First can't login to my desk compy and now my laptop's getting booted from Wifi. 20:09
cotto well, his story checks out 20:15
20:22 brrt joined 20:24 benabik joined 20:33 davidfetter joined 20:35 brrt left
dalek rrot/coke/rm_pasm: 0b6ddee | coke++ | / (8 files):
merge-related fixes;

With this, "make install" works again.
21:01
moritz Coke: ping 21:14
Coke: the other day you mentioned some build problems in sixparrot, related to my (reverted) changes
dalek rrot/coke/rm_pasm: b254ddf | coke++ | t/library/ (3 files):
Track pasm -> pir renames
21:15
moritz Coke: I've tried to reproduce here, but the build was fine (after a git clean -xdf)
Coke moritz: wasn't you. see backlog earlier today about src/pmc/pmc.num
moritz Coke: do you still have those problems?
ok
21:17 benabik joined
Coke only 2 test failures in coke/rm_pasm 21:17
21:51 PacoAir joined
dalek kudo/nom: 5101a54 | moritz++ | src/Perl6/Optimizer.pm:
add some type annotations to the Optimizer code
21:54
22:00 donaldh joined
dalek rrot/coke/rm_pasm: f798882 | coke++ | t/pmc/nci.t:
merge-fixup, remove PASM specific test.
22:01
Coke last failure in coke/rm_pasm is t/native_pbc/header.t - wonder if I'm missing a regen of some files. 22:04
ctult cotto: This is an open source project, and I am not going to have Parrot target JS and CLR, those are going to be targets along with Parrot. It's going to be multi-platform. 22:11
cotto coke++ 22:26
Coke ah, found the last failure. implicit pasm in a test.
urk? more failed tests, hurm. 22:31
22:37 kid51 joined
dalek p/target-pbc: 6840a47 | (Gerhard R)++ | src/HLL/Compiler.pm:
Restore old semantics of HLL::Compiler.compile()

Returning the main sub would have worked, but is conceptionally wrong For now, just add a note about the proper solution
22:48
rrot/coke/rm_pasm: 2e52862 | coke++ | t/native_pbc/header.t:
Need a .sub to be valid PIR
23:02
Coke ok. with that, everything passes in coke/rm_pasm
that just removes the ability to give PASM to parrot to run (and changes the infrastructure that used to generate .pasm to generate .pir instead) - but, IMCC still has support for a bunch of PASM constructs - that is next. 23:03
cotto Is there any secret pasm in nqp or Rakudo? It seems unlikely but would be worth checking. 23:06
though that'll come up during testing 23:07
Coke checking... 23:29
23:32 TonyC joined
Coke Unknown install location in MANIFEST for file 'lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]' 23:34
guess install was still a little borked. 23:35
so, nqp includes a lot of the generated .pasm files (not surprisingly). 23:47
suggestions on how to deal with this? The best I have so far is that if someone asks for "foo.pasm" in that parrot branch, give them "foo.pir" instead. 23:48
cotto Coke: how pervasive is it in nqp? Is branching a viable strategy? 23:53
23:59 benabik joined