Camelia, the Perl 6 bug

IRC log for #parrot, 2013-02-18

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:44 dalek parrot/sixparrot: 668633f | allison++ | src/pmc/float.pmc:
00:44 dalek parrot/sixparrot: Remove multidispatch from Float PMC.
00:44 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/668633f022
01:19 Reini joined #parrot
01:20 Reini left #parrot
01:47 Reini joined #parrot
02:16 MikeFair joined #parrot
02:26 cotto ~
03:12 dalek parrot/sixparrot: ffedeed | allison++ | / (4 files):
03:12 dalek parrot/sixparrot: Remove multidispatch from PackfileConstantTable PMC.
03:12 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/ffedeed880
03:20 dalek parrot/ops2c-necromancy: a2fcb5c | cotto++ | lib/Parrot/Op.pm:
03:20 dalek parrot/ops2c-necromancy: [ops2c] remove some code to deal with non-existent subclasses
03:20 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/a2fcb5c48c
03:20 dalek parrot/ops2c-necromancy: e50240d | cotto++ | / (2 files):
03:20 dalek parrot/ops2c-necromancy: [ops2c] finish making dynops work, update the dynops makefile accordingly
03:20 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/e50240dc6c
03:20 dalek parrot/ops2c-necromancy: fc6d8b9 | cotto++ | lib/Parrot/Op (2 files):
03:20 dalek parrot/ops2c-necromancy: [ops2c] add write barrier support, make generated code less terrible
03:20 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/fc6d8b9940
03:21 benabik ... less terrible?
03:21 cotto a bit hyperbolic
03:22 cotto it's mostly the same as what opsc generates now
03:22 cotto now to see how it does on the core ops
03:22 benabik Boom goes the code
03:25 cotto I'm not at Boom yet.  I still have to sneak it past gcc.
03:38 cotto ironically opsc was papering over a minor syntax error in an op definition
03:38 benabik ?
03:38 benabik It accidentally fixed it?
03:38 cotto seems to
04:12 dngor joined #parrot
04:47 preflex_ joined #parrot
04:52 Reini joined #parrot
05:05 dalek parrot: 1bb7341 | moritz++ | config/inter/libparrot.pm:
05:05 dalek parrot: [configure] quote libdir path for inst_libparrot_linkflags
05:05 dalek parrot:
05:05 dalek parrot: otherwise pbc_to_exe does not work with spacey paths when installed
05:05 dalek parrot: review: https://github.com/parrot/parrot/commit/1bb734198a
05:05 Reini joined #parrot
05:07 bonsaikitten joined #parrot
05:08 bonsaikitten good day. Could someone please help me figure out why parrot 5.0.0 Configure.pl refuses to see perldoc ?
05:23 Reini bonsaikitten: it looks for perldoc in perl -V:scriptdirexp
05:23 Reini and only there, not in the path
05:24 bonsaikitten Reini: ok, let me check that
05:25 bonsaikitten -Dscriptdir=/usr/bin and /usr/bin/perldoc
05:25 bonsaikitten any way to see what the autodetection tries to do or why it fails?
05:25 Reini perl -d Configure.pl
05:26 Reini c 58
05:26 Reini c auto::perldoc::runstep
05:26 Reini n
05:26 Reini n
05:28 Reini perl -d http://configure.pl/ —verbose-step=auto::perldoc
05:28 Reini is also helpful
05:28 Reini without the http
05:29 Reini perl -d Configure.pl —verbose-step=auto::perldoc
05:29 bonsaikitten hrm
05:30 bonsaikitten the debugger doesn't print anything that tells me more (yet)
05:33 bonsaikitten with --verbose=2 I get this output for the perldoc test: http://dpaste.com/944161/
05:34 bonsaikitten which still doesn't tell me why
05:34 Reini you have to check in the debugger which part fails
05:36 bonsaikitten that assumes I understand what the debugger throws at me :\
05:36 Reini step through it (s) and e(x)amine the data
05:36 Reini That's simple kid51-style perl5
05:36 bonsaikitten it's horribly un-user-friendly :)
05:37 Reini yes, it is.
05:37 bonsaikitten doesn't even tolerate ctrl-c or other commands
05:37 Reini q is for quit
05:37 Reini maybe you are missing Term::ReadKey
05:37 bonsaikitten hmm, let me check
05:39 Reini Term::ReadLine is also useful
05:40 Reini Term::Rendezvous is also useful sometimes
05:41 bonsaikitten Term::Read{Line,Key} don't change anything
05:42 Reini hmm, then you have to live with the perl5 debugger asis
05:43 bonsaikitten and people told me autools is difficult ;)
05:43 Reini well, we assume parrot hackers have perl5 development knowledge
05:43 Reini you cannot do everything inside gdb
05:44 Reini 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
05:44 Reini with more sane key associations
05:44 Reini for which platform?
05:45 bonsaikitten linux/amd64
05:45 Reini debian/redhat/... ?
05:45 bonsaikitten Gentoo
05:45 Reini Gentoo does not do binary packages imho, just recipes
05:46 Reini 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
05:46 Reini but you can run perldoc?
05:46 bonsaikitten that's like two bugs in one
05:46 bonsaikitten yes, perldoc runs fine, that's what makes it so frustrating
05:46 Reini and you need to run /usr/bin/perldoc
05:47 Reini I have to go sorry. american timezon
05:47 bonsaikitten that's the funny part, it is /usr/bin/perldoc
06:10 xcombelle joined #parrot
06:17 Reini joined #parrot
07:08 Mike-PerlRecruiter_ joined #parrot
07:17 PacoAir joined #parrot
07:17 dukeleto bonsaikitten: howdy
07:20 bonsaikitten dukeleto: hello. do you have any good ideas how to debug my perldoc troubles?
07:29 dalek parrot: 06510e2 | dukeleto++ | ChangeLog:
07:29 dalek parrot: [doc] Update changelog
07:29 dalek parrot: review: https://github.com/parrot/parrot/commit/06510e24f6
07:30 dukeleto bonsaikitten: strace ?
07:32 dukeleto bonsaikitten: what does "type perldoc" and "echo $PATH" say ?
07:38 bonsaikitten # type perldoc
07:38 bonsaikitten perldoc is hashed (/usr/bin/perldoc)
07:38 bonsaikitten # echo $PATH
07:38 bonsaikitten /sbin:/bin:/usr/sbin:/usr/bin
07:38 bonsaikitten so that all looks pretty boring and ok
08:53 cosimo joined #parrot
10:15 bouncy joined #parrot
12:01 xcombelle joined #parrot
12:03 xcombelle_ joined #parrot
12:26 mberends joined #parrot
12:41 dalek rakudo/nom: 018b73b | moritz++ | src/Perl6/ (2 files):
12:41 dalek rakudo/nom: warn about variables in sink context
12:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/018b73bbed
13:19 Reini joined #parrot
13:19 Reini left #parrot
14:01 PacoAir joined #parrot
14:21 Psyche^ joined #parrot
14:33 bluescreen joined #parrot
14:38 contingencyplan joined #parrot
14:42 bluescreen joined #parrot
14:43 bluescreen_ joined #parrot
14:46 PacoAir joined #parrot
15:58 kid51 joined #parrot
16:35 dmalcolm joined #parrot
16:59 davidfetter joined #parrot
17:33 Coke ah. my addrresgistry issue was because I edited src/pmc/pmc.num. weird.
18:14 dukeleto ~~
18:17 dukeleto bonsaikitten: strace perl Configure.pl &> foo.log and put that output into a paste/gist
18:17 cotto 'morning, dukeleto
18:18 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 dukeleto cotto: mornin'
18:18 allison dukeleto: because Rakudo doesn't use it *and* it's dog-slow
18:19 allison dukeleto: and in every case where I've removed it so far, entirely unnecessary
18:19 allison dukeleto: just wasted memory and CPU
18:19 cotto allison: will we need to remove nqp-rx before mmd can go away?
18:19 allison cotto: not necessarily
18:19 allison cotto: there are multiple parts of mmd
18:20 allison cotto: so, we can remove it in stages
18:21 allison 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 :-)
18:25 dukeleto allison: sounds quite inefficient
18:25 allison dukeleto: yes
18:26 * dukeleto submitted a PR to add Parrot 5.0.0 to homebrew: https://github.com/adamv/homebrew/pull/11
18:27 dukeleto is that the only "port" that is outside of parrot.git ?
18:36 dalek parrot/sixparrot: 3932060 | coke++ | / (2 files):
18:36 dalek parrot/sixparrot: Remove no-longer needed tool from 2008
18:36 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/39320603a1
18:36 dalek parrot/sixparrot: 9040879 | coke++ | / (8 files):
18:36 dalek parrot/sixparrot: Remove bignum PMC
18:36 dalek parrot/sixparrot: review: https://github.com/parrot/parrot/commit/9040879d85
18:36 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"
18:37 Coke (because removing an old number without renumbering will cause incorrect deps to be generated)
18:38 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.
18:40 Coke 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.
18:41 cotto so probably Wed at the earliest
18:41 Coke good enough for me. Danke!
18:42 cotto Coke: you can jump in if you like.  I'm pushing whenever I make progress.
18:43 cotto speaking of which
18:43 dalek parrot/ops2c-necromancy: 408c00e | cotto++ | src/ops/math.ops:
18:43 dalek parrot/ops2c-necromancy: [ops2c] fix a typo in an op
18:43 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/408c00e3a9
18:43 dalek parrot/ops2c-necromancy: b64dc69 | cotto++ | lib/Parrot/OpTrans/C.pm:
18:43 dalek parrot/ops2c-necromancy: [ops2c] fix the other two const translators
18:43 dalek parrot/ops2c-necromancy: review: https://github.com/parrot/parrot/commit/b64dc693ca
18:44 Coke plenty of LHF. :)
18:44 Coke I'm going to work on merging something else I've had my eye on for a while.
18:44 cotto The build currently uses ops2c.pl for dynops.  I'm debugging a few smaller issues wrt symbol visibility from core_ops.c .
18:47 cotto 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:58 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++
19:00 cotto I hope Util++ uses that as the name of the 5.1 release.
19:01 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++
19:01 cotto also, serious karma for anyone willing to resurrect aloha.  coke and I have dumps of the data and the code is on github.
19:01 cotto atrodo: what about Rakudo's spectest?
19:01 atrodo cotto: Passes exactly as well as it does before I started
19:02 cotto atrodo: nice
19:02 atrodo cotto: it has some failures, but it was exact same failures that were there with a fresh sixparrot
19:02 cotto atrodo: also same as parrot master?
19:03 atrodo cotto: I will double check
19:03 cotto either way, that's promising
19:08 Mike-PerlRecruiter_ joined #parrot
19:17 alester joined #parrot
19:22 Coke if you're unsure, push it to a branch other than sixparrot and people can play with it.
19:25 cotto atrodo: if you do that, use a branch name prefixed with "sixparrot".
19:25 atrodo That sounds like a plan
19:31 Coke having parrot required to build the parrot executable via bootstrap is somewhat annoying.
19:31 cotto Coke: yup.  I'm working on it.
19:31 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 ...)
19:32 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.
19:32 cotto atrodo: http://www.youtube.com/watch?v=a6da5H0U3Vs
19:33 atrodo cotto: :D That is awesome
19:35 PacoAir joined #parrot
19:36 dalek Heuristic branch merge: pushed 988 commits to parrot/coke/rm_pasm by coke
19:37 cotto be still my beating heart
19:38 cotto but not too still
19:38 cotto I don't want to die
19:39 ctult_ joined #parrot
19:40 ctult How fast is Parrot compared to a low-level language?
19:44 PerlJam ctult: that question doesn't contain enough detail to make sense to me.
19:44 PerlJam ctult: it's ... >< that fast.  :)
19:45 cotto ctult: your question makes too many assumptions to be answerable as-is.  What's your interest in Parrot?
19:47 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:54 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:56 cotto Is this a for-profit project with a budget or a hobby?
20:00 benabik joined #parrot
20:02 cotto hio benabik
20:03 benabik o/ cotto
20:06 Coke ~l.
20:08 benabik_ joined #parrot
20:09 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:15 cotto well, his story checks out
20:22 brrt joined #parrot
20:24 benabik joined #parrot
20:33 davidfetter joined #parrot
20:35 brrt left #parrot
21:01 dalek parrot/coke/rm_pasm: 0b6ddee | coke++ | / (8 files):
21:01 dalek parrot/coke/rm_pasm: merge-related fixes;
21:01 dalek parrot/coke/rm_pasm:
21:01 dalek parrot/coke/rm_pasm: With this, "make install" works again.
21:01 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/0b6ddeeae7
21:14 moritz Coke: ping
21:14 moritz Coke: the other day you mentioned some build problems in sixparrot, related to my (reverted) changes
21:15 dalek parrot/coke/rm_pasm: b254ddf | coke++ | t/library/ (3 files):
21:15 dalek parrot/coke/rm_pasm: Track pasm -> pir renames
21:15 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/b254ddff15
21:15 moritz Coke: I've tried to reproduce here, but the build was fine (after a git clean -xdf)
21:15 Coke moritz: wasn't you. see backlog earlier today about src/pmc/pmc.num
21:15 moritz Coke: do you still have those problems?
21:15 moritz ok
21:17 benabik joined #parrot
21:17 Coke only 2 test failures in coke/rm_pasm
21:51 PacoAir joined #parrot
21:54 dalek rakudo/nom: 5101a54 | moritz++ | src/Perl6/Optimizer.pm:
21:54 dalek rakudo/nom: add some type annotations to the Optimizer code
21:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5101a54623
22:00 donaldh joined #parrot
22:01 dalek parrot/coke/rm_pasm: f798882 | coke++ | t/pmc/nci.t:
22:01 dalek parrot/coke/rm_pasm: merge-fixup, remove PASM specific test.
22:01 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/f798882b14
22:04 Coke last failure in coke/rm_pasm is t/native_pbc/header.t - wonder if I'm missing a regen of some files.
22:11 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:26 cotto coke++
22:26 Coke ah, found the last failure. implicit pasm in a test.
22:31 Coke urk? more failed tests, hurm.
22:37 kid51 joined #parrot
22:48 dalek nqp/target-pbc: 6840a47 | (Gerhard R)++ | src/HLL/Compiler.pm:
22:48 dalek nqp/target-pbc: Restore old semantics of HLL::Compiler.compile()
22:48 dalek nqp/target-pbc:
22:48 dalek nqp/target-pbc: Returning the main sub would have worked, but is conceptionally wrong
22:48 dalek nqp/target-pbc: For now, just add a note about the proper solution
22:48 dalek nqp/target-pbc: review: https://github.com/perl6/nqp/commit/6840a47110
23:02 dalek parrot/coke/rm_pasm: 2e52862 | coke++ | t/native_pbc/header.t:
23:02 dalek parrot/coke/rm_pasm: Need a .sub to be valid PIR
23:02 dalek parrot/coke/rm_pasm: review: https://github.com/parrot/parrot/commit/2e52862e7d
23:02 Coke ok. with that, everything passes in coke/rm_pasm
23:03 Coke 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:06 cotto Is there any secret pasm in nqp or Rakudo?  It seems unlikely but would be worth checking.
23:07 cotto though that'll come up during testing
23:29 Coke checking...
23:32 TonyC joined #parrot
23:34 Coke Unknown install location in MANIFEST for file 'lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm               [devel]'
23:35 Coke guess install was still a little borked.
23:47 Coke so, nqp includes a lot of the generated .pasm files (not surprisingly).
23:48 Coke 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:53 cotto Coke: how pervasive is it in nqp?  Is branching a viable strategy?
23:59 benabik joined #parrot

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

Parrot | source cross referenced