Camelia, the Perl 6 bug

IRC log for #parrot, 2009-05-20

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 allison jonathan: mmmhmmm... that's what I'm working on
00:11 allison apparently, certain chunks of code actually depend on having the proxy created in *every* HLL
00:12 jonathan allison: Oh, hmm.
00:12 jonathan allison: In Rakudo, or elsewhere?
00:14 donaldh joined #parrot
00:15 allison I'm only looking at Parrot core, but it could explain Rakudo too, since the problem is with a Parrot core type used in the perl6 HLL
00:16 jonathan allison: Yes, that'd make sense.
00:19 Whiteknight what did mk_language_shell.pl get renamed to?
00:19 Whiteknight create_language.pl?
00:21 darbelo I think create_language.pl is a different script.
00:21 jonathan They're different; I think create_language.pl is the newer.
00:22 Whiteknight renamed, superceded, whatever. Which should I write about in the book?
00:24 jonathan Whiteknight: I *think* create_language.pl is the one that pm mentioned the last time I heard him talk on PCT.
00:24 jonathan (at NPW)
00:25 Whiteknight yeah, I think I heard it recently too
00:25 Whiteknight whatever, it's in the book now
00:25 Whiteknight whether it's true or not
00:25 purl whether it's true or not is irrelevant; what matters is if people believe it.
00:26 allison Whiteknight: mk_language_shell.pl still works
00:26 allison Whiteknight: create_language.pl is just different
00:28 s1n allison: i'm curious about pdd18, has there been any work on this (i'm fairly unfamiliar with parrot internals)?
00:28 jonathan OK, time for me to sleep...
00:28 jonathan allison: If you have a patch that works on the Parrot tests but still has Rakudo issues, let me know.
00:29 jonathan night
00:29 rob joined #parrot
00:29 allison jonathan: I don't have any way to test the Rakudo issues, but will let you know when it passes the Parrot tests
00:29 Whiteknight allison: So which one should I write about? Both? one or the other?
00:30 allison right now, mk_language_shell.pl, because it's more fully featured
00:30 Whiteknight done
00:30 allison we'll merge them together at some point
00:30 Infinoid Oh, and docs/parrothist.pod has a 4th date format (2009-May-19)
00:31 allison s1n: the security PDD is not yet implemented, only specified
00:31 rob any idea why a socket stored in a lexical wont close?
00:32 bacek joined #parrot
00:32 s1n allison: is there any plan to implement it? i'm interested in this feature; i will be attending the workshop in hopes of learning more about parrot :)
00:33 rob neither sock.close() or close sock work
00:34 allison s1n: yes, there's a plan to implement it, sometime in the next year
00:43 Infinoid All right.  So how's everyone's "fulltest" looking?  Anything we need to skip?
00:44 dalek porcupinepascal: r75 | robin.ge++ | branches/oo-branch/ (3 files):
00:44 dalek porcupinepascal: * added halt builtin
00:44 dalek porcupinepascal: * still can't get sockets to close
00:44 dalek porcupinepascal: review: http://code.google.com/p/porcu​pinepascal/source/detail?r=75
00:54 eternaleye joined #parrot
00:55 Infinoid gah, I can't pass fulltest on my machine because of TT #578
00:56 * Infinoid tries to hack his machine into a usable state
00:57 allison Infinoid: I'm running it on 3 platforms now
00:57 * Infinoid restarts it on gentoo/amd64 with a symlinked libpcre.so in place
01:09 Whiteknight Infinoid: Except the t/examples/* failures, everything works fine here
01:10 Infinoid Thanks.  That's ubuntu/x86-64?
01:10 Whiteknight yes
01:10 Whiteknight Ubuntu 9.04 specifically
01:10 Infinoid Ubuntu tends to be a little pickier than gentoo, so that means I'll probably be fine here too.  Awesome.
01:10 Whiteknight viva la bleeding edge
01:10 dalek parrot: r38949 | whiteknight++ | trunk/docs/book/ch04_compiler_tools.pod:
01:10 dalek parrot: [book] big overhaul of chapter 4. Rewrite a lot of stuff for flow and clarity. Add an entire section about HLLCompiler and it's uses.
01:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38949/
01:15 Whiteknight and with that edit, I think I'm out for the night. Ladies, Gentlemen, I bid thee adieu.
01:23 cognominal joined #parrot
01:31 allison Infinoid: on ubuntu/x86-32, I get a failure in t/op/trans.t under testj
01:33 Infinoid Okay.  Thanks, I wouldn't have seen that as jit is disabled under my platform
01:33 Infinoid Which test?
01:33 purl rumour has it Which test is for that bit of sugar
01:34 cotto no, which test is <reply>
01:34 purl okay, cotto.
01:38 allison t/op/trans_13.pasm
01:38 allison apparently something to do with atan, or floating point equality
01:40 allison it's atan, it keeps returning NaN
01:40 tewk joined #parrot
01:40 cotto Haven't we solved that problem already?
01:41 cotto I know there's a tt and I'm mostly certain there's a patch.
01:41 allison maybe so
01:42 Infinoid What's the TT?  I can put it in the TODO message
01:42 allison TT #530
01:45 Infinoid Is testj valid anywhere other than linux/x86?  (Do I need to test for linuxness or x86ness, or is jit sufficient?)
01:45 allison jit should be disabled on x86-64
01:46 allison but, I can test
01:46 allison do you have a todo patch?
01:46 Infinoid it is disabled by default on x86-64, yes
01:46 Infinoid and yes, I've got a patch ready to commit
01:46 tewk I'm here, what is the current release status?  I'm ready to work my way through release_manager_guide.pod
01:46 allison if you no paste it, I'll try it here
01:47 Infinoid hi tewk, I've kinda taken over the process, working through some fulltest issues right now
01:47 allison tewk: we're doing final cleanup of test failures
01:47 Infinoid But you can have the pumpkin back if you really want it. :)
01:48 tewk Infinoid: great, thanks, I don't want to butt in,  you can run with it.  If you need me to do anything let me know.
01:48 Infinoid ok, will do
01:48 allison Infinoid: if you commit the todo, I can just svn up and try it
01:49 Infinoid allison: r38951
01:49 Theory joined #parrot
01:49 dalek parrot: r38950 | Infinoid++ | trunk/docs/project/release_manager_guide.pod:
01:49 dalek parrot: [docs] Update the release manager guide.
01:49 dalek parrot: * Parrot.spec no longer exists, so I would presume the release manager doesn't have to update it.
01:49 dalek parrot: * ftp.path is another field in release.json which should be updated.
01:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38950/
01:49 dalek parrot: r38951 | Infinoid++ | trunk/t/op/trans.t:
01:49 dalek parrot: [t] Todo the t/op/trans.t "atan2" test under JIT.
01:49 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38951/
01:50 allison Infinoid: t/op/trans.t passes all tests under the jit runcore now
01:50 allison restarting 'make fulltest'
01:50 Infinoid great, thanks
01:50 Infinoid I'm seeing the t/examples/namespace.t failure Whiteknight was talking about earlier
01:51 allison Infinoid: ah, I just saw that sweep by on my x86-64 box
01:51 allison which runcore?
01:51 purl well, which runcore is -r?
01:51 allison oh, looks like examples_tests
01:52 Infinoid other than that, everything looks fine here on linux/x86-64, the only thing I can't really test here is jit
01:54 allison looks like dump_multi is segfaulting
01:55 Infinoid Do you want to try to fix it, or should I just todo it for now?
01:56 * Infinoid makes a note to un-todo these things after the release
02:02 allison Infinoid: try r38952.
02:03 dalek parrot: r38952 | allison++ | trunk/examples/namespace/namespace_dump.pir:
02:03 dalek parrot: [cage] Make the dump smarter about handling multis without a signature.
02:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38952/
02:03 Infinoid Result: PASS
02:05 allison PMCNULL is a valid return value from get_multisig, so the dumper needs to handle it
02:08 Infinoid Makes sense.  examples_tests and distro_tests are the last things on the fulltest list here, and they both pass, so I think fulltest will go smoothly this time
02:09 rhr joined #parrot
02:10 allison same on my OS X box
02:11 allison rerunning fulltest on it now (after updating namespace test)
02:15 allison t/op/io.t unexpectedly passes on x86-32
02:15 allison test 4
02:16 allison (which was recently added and todo'd, and does fail on x86-64)
02:17 Infinoid Is that on a particular runcore, or just in general?
02:29 allison Infinoid: it fails as expected in the default runcore
02:30 allison Infinoid: checking others
02:36 janus joined #parrot
02:37 particle joined #parrot
02:38 kid51 joined #parrot
02:38 allison Infinoid: seems to be pretty much any runcore
02:40 * kid51 pokes his nose in and asks:  Have we released yet?
02:40 Infinoid I'm guessing it's the "open pipe for writing" test?
02:40 Infinoid hi kid51, fixing up the last few test failures now
02:41 allison Infinoid: 'make fulltest' passes on OS X
02:41 Infinoid kid51: got a passing todo test (on every runcore but the default) on linux/x86-32, so far the other platforms seem pretty good
02:41 allison Infinoid: yes, "open pipe for writing"
02:42 Infinoid allison: Thanks.  that code looks alpha, to be honest.  (Have you seen the implementation?  Grep for "/bin/sh" to find it.)
02:42 Infinoid Any objection to just skipping it?
02:42 allison Infinoid: skipping it is good
02:43 allison yes, it is a very early implementation
02:43 Infinoid Ok, I'll skip it.  Is it the only failure you were seeing on the various runcores?
02:44 kid51 Infinoid:  are you speaking about tests in general or about the ones I was reporting as part of 'make fulltest' last night?
02:45 Infinoid kid51: I think (and hope) we've fixed those up.  More verification of that certainly couldn't hurt
02:45 kid51 489 / 60
02:45 purl 8.15
02:46 kid51 So the running time of t/benchmarks/benchmark.t has been cut in half on my Linux box.
02:47 Infinoid cotto++ reduced the loop counts to more reasonable values
02:48 dalek parrot: r38953 | Infinoid++ | trunk/t/op/io.t:
02:48 dalek parrot: [t] Skip testing of opening pipes (executing shell commands) for now, it's alpha and fails inconsistently on various platforms.
02:48 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38953/
02:50 allison Infinoid: 'make fulltest' passes on x86-32 and x86-64
02:51 Infinoid great, thanks
02:53 Infinoid kid51: I'm not sure if your t/compilers/imcc/syn/regressions.t issue (with -r) got resolved.  Do you know if we found a fix, and/or can you retest it?
02:54 allison Infinoid: the passing TODO on x86-32 is gone too, thanks
02:55 kid51 Infinoid:  Am currently running basic 'make test'.  When that's done, I'll try that one.  I believe we were down to the instance in make testf.
02:56 Infinoid Ok, thanks.  I ended up being the release manager, so I'm hoping to make the shiniest parrot possible :)
02:57 tetragon joined #parrot
02:59 kid51 Smolder still down, I see.
03:00 Infinoid Yep.  At least it's consistent
03:00 kid51 'make test' PASS on Linux/i386
03:04 nopaste "kid51" at 70.85.31.226 pasted "t/compilers/imcc/syn/regressions.t: all passing or TODO on various cores" (65 lines) at http://nopaste.snit.ch/16617
03:05 kid51 That was Linux/i386.
03:06 Infinoid Great, guess it's time to cut the release (unless I'm missing something)
03:06 kid51 t/examples/namespace.t:  PASS on Linux/i386.  So everything that was an outright FAIL on Linux last night is passing or has been TODOed.
03:06 Infinoid you shouldn't get any "TODO passed", either
03:08 allison Infinoid: thumbs up!
03:08 purl well, thumbs up is at http://www.friedmanarchives.com/China/Web/Ch​apter23/4%20Thumbs%20Up%204x6%2072%20dpi.jpg
03:10 kid51 make codetest PASS
03:11 kid51 Infinoid:  No, on the tests specifically cited above, I got no unexpected passes (if that's what you meant).
03:11 dalek parrot: r38954 | Infinoid++ | trunk (10 files):
03:11 dalek parrot: [release] Update the necessary bits for the 1.2.0 release.
03:11 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38954/
03:11 Infinoid Great!  Sounds about as polished as we can get it
03:13 kid51 On Darwin/PPC, 'make coretest' PASS (I don't have enough time to run 'make test' there; it's too slow)
03:13 kid51 On Darwin/PPC:  t/pmc/nci                          (Wstat: 0 Tests: 70 Failed: 0)
03:13 kid51 TODO passed:   66, 69-70
03:13 kid51 ... but those have been TODO pass-ing for some time (that JIT thing, IIRC)
03:14 Infinoid You had a failure in t/compilers/pge/pge_examples.t with -j on Darwin/PPC
03:14 kid51 (just when I thought I could sneak off to bed ...)
03:15 kid51 Still failing.
03:15 purl hmmm... failing is bad!
03:15 Infinoid You want to TODO it, or should I?
03:16 Infinoid fulltest finally passed here
03:16 nopaste "kid51" at 24.188.182.149 pasted "make testj failure in t/compilers/pge/pge_examples.t persists on Darwin/PPC" (27 lines) at http://nopaste.snit.ch/16618
03:17 Andy joined #parrot
03:17 kid51 You should.  I'm not fluent in PIR tests enough to do that quickly.
03:18 kid51 And I gotta get to bed.  Had final Perl Seminar meeting of season tonight, followed by beer.  You can figure ...
03:18 Infinoid I see you mentioned it in TT #479, I'll mention that in the TODO message
03:18 Infinoid I've got it covered.  thanks, sleep well
03:20 kid51 Yes, it is basically unchanged since #479.  good night.
03:20 donaldh joined #parrot
03:21 dalek parrot: r38955 | Infinoid++ | trunk/t/compilers/pge/pge_examples.t:
03:21 dalek parrot: [t] TODO pge_examples.t test #2 on Darwin.
03:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38955/
03:22 * Infinoid cuts a tarball and tests it
03:23 allison Infinoid: we won't be able to upload until fperrad wakes up, he's the only one with access to the ftp server at the moment
03:23 Infinoid well, having 1 person with upload access is better than the situation last month :)
03:23 Infinoid I'm guessing I should hold off on the announcement stuff until then?
03:25 allison you can get it all together
03:25 allison but, yeah, can't send out a link to it
03:26 allison what timezone are you in?
03:26 Infinoid I've already got it all together :)
03:26 * Infinoid is in PST8PDT
03:26 allison ah, good, so it's some awful hour
03:27 allison it's *not* some awful hour
03:28 Infinoid yeah, it's all good.  I'll send fperrad an email to (hopefully) make sure he lets me know when he wakes up
03:32 japhb_ joined #parrot
03:38 dalek parrot: r38956 | petdance++ | trunk/src/jit/amd64/jit_defs.c:
03:38 dalek parrot: changing a 0 to NULL, and shimmed an interp
03:38 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38956/
03:47 dalek parrot: r38957 | petdance++ | trunk/src/list.c:
03:47 dalek parrot: removed unnecessary return value
03:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38957/
03:48 cotto joined #parrot
04:10 dalek parrot: r38958 | petdance++ | trunk/src/pmc/sub.pmc:
04:10 dalek parrot: bunch of localizing and consting
04:10 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38958/
04:19 Infinoid I just noticed another thing about the t/op/io.t test we skipped: it left a lot of idle "parrot <path>/cat.pasm" processes running on my machine
04:23 dalek parrot: r38959 | Infinoid++ | tags/RELEASE_1_2_0:
04:23 dalek parrot: tagged r38955 as release 1.2.0
04:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38959/
04:23 allison Infinoid: definitely not a good sign
04:24 Infinoid I have a tarball, now all I need is an fperrad to upload it
04:24 allison Infinoid: I've got the pile of idle processes too
04:24 allison Infinoid: excellent (on the tarball)
04:26 allison Infinoid: some of the lingering processes are as old as May 15th
04:26 Theory joined #parrot
04:27 Infinoid wow
04:27 Infinoid I've never had to do a "killall parrot" before.
04:36 allison definitely want to leave that test as skipped
04:38 Infinoid Ok, I've sent fperrad an email ping and link to the tarball
04:38 particle allison++ Infinoid++ fperrad++ i hope
04:39 * particle is bedward
04:41 bacek Infinoid++ allison++
04:41 Infinoid Anyway, feel free to commit all your buggy stuff to trunk again, everyone
04:42 Infinoid And your nonbuggy stuff too, of course :)
04:42 bacek Will do :)
04:46 dalek parrot: r38960 | petdance++ | trunk/src/pmc (3 files):
04:46 dalek parrot: teeny consting
04:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38960/
04:47 dalek parrot: r38961 | Infinoid++ | trunk/src/packfile.c:
04:47 dalek parrot: [core] mark_1_seg: Marking constant PObjs can't hurt, make sure we do it for all the right types.
04:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38961/
04:47 dalek parrot: r38962 | Infinoid++ | trunk/config/gen/config_pm.pm:
04:47 dalek parrot: [config] Redo r38804, but whitelist some key items.
04:47 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38962/
04:48 mikehh_ joined #parrot
04:50 dalek parrot: r38963 | petdance++ | trunk/src/pmc/callsignature.pmc:
04:50 dalek parrot: consted on pointer, and localized a loop var
04:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38963/
04:50 dalek parrot: r38964 | petdance++ | trunk/src/pmc (5 files):
04:50 dalek parrot: lots of consting, and using NULL instead of 0 for pointers
04:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38964/
04:53 Infinoid In TT #530, rg++'s patch solves the atan2 problem by forcing JIT to not use any CPU float registers.  It looks like it got warnocked; it could really use some input by a JIT person.  I TODOed the test earlier today because I wasn't sure whether the patch was the right solution or not.
04:57 dalek parrot: r38965 | bacek++ | trunk (11 files):
04:57 dalek parrot: Merge branch 'tt504_annotations'
04:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38965/
05:00 dalek parrot: r38966 | petdance++ | trunk/src/pmc/array.pmc:
05:00 dalek parrot: consting and proper use of NULL
05:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38966/
05:00 dalek parrot: r38967 | petdance++ | trunk (2 files):
05:00 dalek parrot: Add a PARROT_IGNORABLE_RESULT for pmc_reuse
05:00 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38967/
05:05 Infinoid bacek,cotto: So I'm told pmc_pct is the new hotness.  Got a TODO list?
05:06 bacek Infinoid: yeah... sorta. Check TODO in compilers/pmcc :)
05:06 bacek I'll write some todo tonight
05:07 Infinoid Thanks.  The timestamp on that looked a little old
05:07 cotto well, it's definitely new
05:07 Infinoid I can work on item #4 tho
05:07 cotto cha-ching!
05:20 dalek parrot: r38968 | bacek++ | trunk/t/native_pbc (4 files):
05:20 dalek parrot: Rebuild native PBCs
05:20 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38968/
05:25 dalek rakudo: 5e2e2c1 | pmichaud++ | src/ (3 files):
05:25 dalek rakudo: Add qx{}, qqx{}, q:x{}, qq:x{}.
05:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​e2e2c1f4200797cc7c86857bcd460388bf2e944
05:43 flh joined #parrot
05:56 eternaleye joined #parrot
05:57 Infinoid What's https://trac.parrot.org/parro​t/wiki/ParrotVirtualAppliance all about?
06:00 dalek rakudo: 33dd7ac | pmichaud++ | docs/ (2 files):
06:00 dalek rakudo: Some news and announcement updates in preparation for release.
06:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​3dd7ac3519b2efa884a8790eab27a0d3296af8b
06:00 cotto I'd guess that it's a downloadable VM image that's got some sort of Parrot environment ready to run.
06:01 cotto It looks shiny enough, but I'd rather help get the bird in better shape. ;)
06:02 cotto Infinoid, how well do you understand actions (as in PCT actions.pm)?
06:02 dalek parrot: r38969 | allison++ | trunk/lib/Parrot/Docs/POD2HTML.pm:
06:02 dalek parrot: [cage] Remove code that overly sanitizes C *'s. Thanks to mikehh.
06:02 dalek parrot: Resolves TT #634.
06:02 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38969/
06:06 japhb__ joined #parrot
06:10 Infinoid cotto: Not well.
06:11 dalek rakudo: 0ce0f62 | pmichaud++ | docs/ChangeLog:
06:11 dalek rakudo: Update ChangeLog a bit.
06:11 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​ce0f62f29bc0e21c74a86ab616443daeb137d8d
06:14 particle joined #parrot
06:14 pmichaud cotto: I know a bit about actions :-)
06:18 cotto Heh.  I was just probing for where Infinoid might be able to dive into pmc_pct
06:18 pmichaud ah.
06:18 pmichaud That's good, I'm probably not awake enough to answer any questions about it anyway.  :-P
06:19 pmichaud perl6:  say 'hello';   # does this still work?
06:19 pmichaud Guess not.
06:19 cotto rakudo: OUTPUT["hello"]
06:19 cotto or something like that
06:19 pmichaud forgot the newline :-P
06:20 moritz should I send in p6eval here?
06:21 polyglotbot OUTPUT[hello␤]
06:21 polyglotbot OUTPUT[Could not find non-existent sub OUTPUT␤current instr.: '_block14' pc 58 (EVAL_16:40)␤called from Sub '!UNIT_START' pc 18229 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950 (src/PCT/HLLCompiler.pir:527)␤called from Sub 'parrot;PCT;HLLCompiler;evalfiles' pc
06:21 polyglotbot ..1275 (src/PCT/HLLCompiler.pir:688)␤called from Sub ...
06:21 pmichaud heh
06:21 pmichaud *that* took a long time.
06:21 moritz wow
06:21 cotto I guess rakudo's really got some speed issues.
06:22 pmichaud well, that's also an old version of rakudo.
06:22 pmichaud (see the backtrace output)
06:23 pmichaud I'm fine with just having an evalbot in #perl6 -- was just curious if one was still here also.
06:23 chromatic joined #parrot
06:24 cotto perl6: say 'hi again';
06:25 pmichaud Is the r38959 the official tagged release?
06:25 dalek parrot: r38970 | allison++ | trunk/docs/pdds/pdd24_events.pod:
06:25 dalek parrot: [pdd] Update the events PDD to match the actual design and
06:25 dalek parrot: implementation. Resolves TT #635.
06:25 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38970/
06:26 pmichaud er, r38955, I guess.
06:26 polyglotbot OUTPUT[hi again␤]
06:31 iblechbot joined #parrot
06:33 moritz ouch, the rakudo is the one from languages/perl6/, it seems
06:34 pmichaud back later # bedtime
06:39 Tene pmichaud: I can resurrect polyglotbot if you ask me to.
06:40 * moritz asks Tene, in the hope that it will help even though he's not pmichaud ;-)
06:40 cotto Tene, can you do it if I ask? ;)
06:41 * bacek waves to Tene
06:42 Tene Heh.
06:42 Tene For you guys, I might make you do some of the work. :)
06:43 Tene I'll try to get at least parrot and rakudo up.
06:45 Tene Wait, feather3 is still dead, isn't it?
06:46 Tene Ah, OK.  I'll try to find another host.
06:46 cotto crud.  nobody mentioned smolder's downtime at #ps
06:47 moritz Tene: no, it's up again
06:47 moritz Tene: that's why polyglotbot is in the channel again...
06:47 moritz it's just a *bit* outdated ;-)
06:49 Tene ah
06:49 Tene moritz: the outdated part is rakudo... the build script is still trying to fetch it from svn.
06:50 Tene moritz: I can give you access to feather3 to fix th ebuild script if you'd like.
06:51 Tene I'm going to sleep soon.
06:52 moritz Tene: I already have access... I'll see if I can find tuits...
06:53 Tene moritz: I'm looking at it now...
06:55 HG` joined #parrot
06:55 HG` left #parrot
06:55 HG` joined #parrot
06:56 Tene installing git...
07:08 Tene bringing svn up to date from the new repo...
07:09 Tene falling asleep...
07:13 cotto wake up, Tene
07:14 cotto Follow the white rabbit...
07:17 bsdz joined #parrot
07:30 * bacek offer Tene two pills
07:37 mj41 Hi. r38965 (bacek) broke building "Parrot VM: PANIC: IJPS is an unknown signature type." http://tt.ro.vutbr.cz/buil​dstatus/pr-Parrot/rp-trunk
07:37 moritz is that before or after the release?
07:38 bacek after
07:38 moritz good.
07:38 bacek And it require realclean for rebuild
07:40 bacek And this machine exactly same as mine... Strange
07:40 bacek Ah. x86_64...
07:44 dalek parrot: r38971 | bacek++ | trunk/src/pmc/packfileconstanttable.pmc:
07:44 dalek parrot: [cage] Traling whitespaces
07:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38971/
07:45 mj41 TapTinder clients do "copy to temp" of not modified local copy every time. So no realcelan required.
07:48 bacek mj41: looking what happened...
07:51 bacek mj41: I hope r38972 will fix it
07:53 dalek parrot: r38972 | bacek++ | trunk/config/gen/call_list/core.in:
07:53 dalek parrot: Add more NCI signatures. Hope it will fix broken x86_64 builds.
07:53 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38972/
07:54 bacek Hooray. mj41++
07:57 mj41 Hmm. TapTinder probably shouldn't run "mate test" if build failed :-).  http://tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk seems odd.
07:59 donaldh joined #parrot
08:05 mj41 And some IRC robot to report build failures should be on my todo list. It will help continuous integration while I am sleeping. :-)
08:09 bacek mj41: indeed :) Can we have more boxes with different architectures? Like Darwin/PPC?
08:14 mj41 I think so. I only need to add it manualy to DB :-). http://tt.ro.vutbr.cz/table/machine and http://tt.ro.vutbr.cz/table/user But it wasn't tested on another OS.
08:18 mj41 And it is on your own risk. I will appreciate any help/interest. :-)
08:24 bacek mj41: can I build different branch on TT? Like tt458_reduce_mmd?
08:25 mj41 Yes and no. There is http://tt.ro.vutbr.cz/table/machine_job_conf
08:26 mj41 And http://tt.ro.vutbr.cz/table/jobp but it isn't tested yet.
08:28 bacek mj41: looks good.
08:28 purl O_O
08:29 bacek purl: forget looks good
08:29 purl bacek: I forgot looks good
08:32 bacek afk # going home
08:52 bacek joined #parrot
09:03 riffraff joined #parrot
09:27 bacek OH HI
09:27 bacek Can someone some tt452_reduce_mmd branch? At r38973
09:28 bacek (And run make benchmark_test on it)
09:28 dalek parrot: r38973 | bacek++ | branches/tt452_reduce_mmd/src/pmc/scalar.pmc:
09:28 dalek parrot: [pmc] Use i_bitwise_shl_int in scalar on integer overflow.
09:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38973/
09:46 dalek rakudo: 34823c9 | masak++ | docs/announce/2009-05:
09:46 dalek rakudo: [docs/announce/2009-05] nitpicked about my home
09:46 dalek rakudo: Technically, I live in Uppsala and Stockholm is simply the closest PM group
09:46 dalek rakudo: around. I tried to express this as succinctly-but-still-correct as possible
09:46 dalek rakudo: in the announcement. Further edits are appreciated.
09:46 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​4823c9b321b7c5b4dbcb7715606231851dd4a25
09:50 flw joined #parrot
09:51 flw joined #parrot
09:53 flw joined #parrot
09:54 nopaste "bacek" at 114.73.51.181 pasted "Why --gc-debug is so slooooooow?" (18 lines) at http://nopaste.snit.ch/16619
09:55 flw joined #parrot
09:56 jonathan bacek: 'cus I think it does a gc run after every op.
09:56 bacek oh...
09:56 jonathan (so unmarked stuff gets swept as early as possible)
09:57 jonathan I think the idea is you crash closer to the source of the GC bug.
09:57 bacek We probably have to remove --gc-debug from benchmark_test
09:57 bacek (make target)
10:02 bacek afk # dinner time
10:09 dalek rakudo: dcc0fdd | jnthn++ | build/PARROT_REVISION:
10:09 dalek rakudo: Bump PARROT_REVISION up to the revision of the Parrot release, so we're testing against the Parrot Thursday's release should run on.
10:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​cc0fdd45f13e1c6e7ee77bdef4cee52d2fc883e
10:09 dalek rakudo: 6685755 | jnthn++ | docs/ChangeLog:
10:09 dalek rakudo: Few extras for the ChangeLog.
10:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​685755d0ebc3e33e3a50589daace5136210ade2
10:21 dalek parrot: r38974 | bacek++ | branches/tt504_annotations:
10:21 dalek parrot: Branch was merged into trunk. Removing from HEAD
10:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38974/
10:35 particle joined #parrot
10:59 particle joined #parrot
11:04 particle joined #parrot
11:10 particle joined #parrot
11:14 bacek joined #parrot
11:15 particle joined #parrot
11:16 Infinoid Good morning all
11:16 moritz oh hai
11:16 pancake morn
11:17 bacek OH HAI
11:17 jonathan morning
11:18 * Infinoid hasn't heard back from fperrad about ftp site access
11:19 * bacek wave from future
11:19 bacek seen fperrad
11:19 purl fperrad was last seen on #parrot 13 days, 18 hours, 21 minutes and 57 seconds ago, saying: - or add the missing generated code  [May  6 16:54:05 2009]
11:20 particle joined #parrot
11:20 donaldh joined #parrot
11:21 dalek parrot: r38975 | NotFound++ | trunk/src/list.c:
11:21 dalek parrot: [cage] return in a void function
11:21 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38975/
11:25 particle joined #parrot
11:28 dalek parrot: r38976 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
11:28 dalek parrot: [pmc] Don't use MULTI for methods with single variant only.
11:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38976/
11:28 dalek parrot: r38977 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
11:28 dalek parrot: [pmc] Rewrite BigInt.bitwise_shr without MULTIs.
11:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38977/
11:31 dalek parrot: r38978 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:31 dalek parrot: [pmc] Remove useless MULTI Integer.i_add
11:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38978/
11:31 dalek parrot: r38979 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:31 dalek parrot: [pmc] Fix Integer.i_add on overflow.
11:31 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38979/
11:34 burmas joined #parrot
11:34 bacek git svn dcommit is terribly slow...
11:35 dalek parrot: r38980 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
11:35 dalek parrot: [pmc] Reimplement Integer.add without MULTIs
11:35 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38980/
11:35 particle joined #parrot
11:40 * Infinoid runs it in the background on its own checkout, and ignores it
11:40 particle joined #parrot
11:43 bacek Infinoid: I need your opinion about https://trac.parrot.org/parrot/changeset/38980/
11:44 * bacek spotted few bugs in Integer.pmc.
11:44 bacek Actually all i_foo(BigInt) are broken :/
11:45 Infinoid ok, I'm looking
11:45 particle joined #parrot
11:47 bacek Ouch... No single test for in-place math...
11:48 bacek O! Found one. Complex.i_sub...
11:50 particle joined #parrot
11:50 Infinoid how are the i_* functions broken?
11:50 * Infinoid gets a branch checkout and tests it
11:52 bacek Infinoid: change 500 back to 5000 in examples/benchmark/primes2.pir and test in branch and trunk :)
11:52 purl bacek: Either 'BACK' or '5000' is an invalid currency symbol, or Yahoo changed its screen format for the currency exchanger.  Check http://finance.yahoo.com/currency for the list of supported symbols.
11:53 bacek Infinoid: (i_*) they don't update SELF for BigInt variants.
11:53 Infinoid hmm
11:55 particle joined #parrot
11:56 nopaste "bacek" at 114.73.51.181 pasted "Simple i_mul test case for Infinoid" (11 lines) at http://nopaste.snit.ch/16620
11:56 bacek i_add already fixed in branch
11:58 Infinoid ... wow, primes2.pir runs a *lot* faster in branch.  Still waiting for trunk...
11:59 bacek 3 minutes vs 14 seconds on my box :)
11:59 ruoso joined #parrot
11:59 Infinoid hmm, your test pir file doesn't run correctly on trunk either
12:00 bacek Yes.
12:00 Infinoid -    mul $P0, $P1
12:00 Infinoid +    mul $P0, $P0, $P1
12:00 bacek It's not i_mul
12:00 particle joined #parrot
12:01 Infinoid or $P0 = mul $P0, $P1 :)
12:02 bacek And this one too. Check src/ops/math.ops
12:03 bacek mul $P0, $P1 calls i_mul. It's different from 3-args mul
12:03 Infinoid ah, yes, different vtable
12:04 dalek rakudo: 6229131 | jnthn++ | src/classes/Object.pir:
12:04 dalek rakudo: Fix typed array and hash attributes so that the type checking is enforced. Resolves RT#64594.
12:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​229131d8422b8bcbedecd3821b2d0add043ee1a
12:05 Infinoid ok, I get it
12:05 particle joined #parrot
12:05 Infinoid Integer.i_multiply(BigInt) is busted
12:06 Infinoid I would expect it to upgrade the pmc inplace, not just call the bigint vtable function directly (risking attr array mismatches)
12:06 Infinoid Integer.i_multiply(Integer) seems to work fine
12:08 bacek It assumes that BigInt will call something like VTABLE_assign at the end. But it doesn't
12:09 Infinoid I was wondering if it expected BigInt to call pmc_reuse
12:09 Infinoid (which would be insane)
12:09 Infinoid I think it should upgrade SELF and re-call, like your i_add patch does
12:10 bacek "MULTI PMC *multiply(String value, PMC *dest)" is ... perfect...
12:10 particle joined #parrot
12:12 bacek Various checks like "if ((double)c == cf)"... It's insane.
12:12 * bacek cursing day when he decided to start pmc_pct branch!
12:13 bacek Infinoid: I'm going to reimplement all maths in Integer using "i_add" style.
12:14 Infinoid it's checking for overflows, but not in a very readable way
12:15 particle joined #parrot
12:15 Infinoid I think the strategy is good (don't upgrade to bigint until you have to), even if the implementation isn't very easy to read
12:18 bacek Erm. I don't afaiu
12:20 Whiteknight joined #parrot
12:20 particle joined #parrot
12:22 Infinoid no, you don't.  I was talking about the multiply() method
12:22 Whiteknight Did the release make it out last night?
12:22 Infinoid Whiteknight: I have a tarball, but apparently only fperrad has access to the FTP site
12:22 bacek Infinoid: ah. ok
12:23 Infinoid bacek: One issue I can see with r38980 is that add() won't detect overflows and upgrade to BigInt
12:24 Infinoid or am I missing something?
12:24 bacek missing
12:24 bacek i_add will call i_add_int. i_add_int with do all checks
12:25 particle joined #parrot
12:25 Infinoid oh, cool
12:26 kid51 joined #parrot
12:26 kid51 msg Infinoid I'll try to ping you tonight re TT #690
12:26 purl Message for infinoid stored.
12:27 dalek parrot: r38981 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
12:27 dalek parrot: [pmc] Refactor Integer.(i_)?subtract without MULTIs.
12:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38981/
12:27 dalek parrot: r38982 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
12:27 dalek parrot: [pmc] Rework Integer.(i_)?multiply without MULTIs
12:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38982/
12:29 iblechbot joined #parrot
12:34 Infinoid bacek: this all looks good to me, less duplicated code and will run faster too
12:35 bacek Infinoid: indeed.
12:37 Infinoid I never really understood Complex numbers.  It looks like Integer.i_add(Complex) will add the "real" numbers but the newly upgraded return value will have a 0 "complex" component?
12:38 Infinoid (though your changes don't affect that)
12:38 bacek yak... t/pmc/multidispatch failed.
12:38 bacek Failed test '1+1=3'
12:38 Infinoid heh
12:39 bacek I prefer to think that test conflicting with TT#452
12:39 bacek because it overrides Integer.add
12:40 Infinoid great, another "pir subclass" issue
12:40 bacek It's not "subclass" issue..
12:40 bacek check line 60
12:40 rg1 joined #parrot
12:41 Infinoid yeah, I'm reading it
12:41 bacek 452 exactly about avoiding mmd for core pmcs.
12:42 Infinoid right.
12:44 Theory joined #parrot
12:45 fperrad joined #parrot
12:45 Infinoid after looking at this test, it seems like MMD has some "spooky action at a distance"
12:46 Infinoid Okay.  If the goal is to make core PMCs fast, then this test is wrong.  If we *do* want to override stuff in that way (or if it breaks subclassing in some other way), perhaps we can make an IntegerSubclassable PMC which works slower but is more compatible
12:48 Infinoid fperrad: Hi!  Did you get my email?
12:50 Infinoid bacek: I think we need some input from the parrot designers on this particular case... I don't know how much the HLLs rely on the current behavior
12:50 Infinoid allison: ping
12:51 bacek Infinoid: heh. I cheated.
12:52 fperrad yes, but currently I can't upload the tarball. I travel with only a netbook. I haven't my dev box with ssh keys.
12:52 Infinoid Ok, thanks.  Should I wait, or is there someone at osuosl I should talk to?
12:53 fperrad Infinoid, have you seen the jerry gay's mail about ssh keys need ?
12:54 dalek parrot: r38983 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
12:54 dalek parrot: [pmc] Invoke Complex.i_foo instead of handcrafted code in Integer.pmc
12:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38983/
12:54 dalek parrot: r38984 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
12:54 dalek parrot: [pmc] Cheat - register default MULTI for Integer.add
12:54 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38984/
12:54 bacek Infinoid: Look! r38984 :) It still fast. And t/pmc/mutlidispatch.t is happy
12:55 Infinoid bacek++
12:55 Infinoid One of these days, I really need to understand exactly what that MULTI keyword does.
12:55 Infinoid fperrad: No.  Is it recent?
12:56 Whiteknight how does a person get an SSH key?
12:56 * Whiteknight is an encryption n00b
12:56 Infinoid It's typically generated locally with the ssh-keygen command
12:56 Infinoid Then you send the public key to the server, and tell it to authenticate anyone who has your secret key (which should be only you)
12:57 Infinoid the pubkey is just a line of base64-encoded text.  If you stick that in your .ssh/authorized_keys file on a server, you don't have to type your password in any more
12:57 Infinoid which is awesome.
12:59 fperrad Infinoid, i send to you a copy of email
12:59 Infinoid thanks!
12:59 bacek Don't forget passphrase and ssh-agent
13:00 fperrad Infinoid, you must wait few hours, be
13:01 Coke joined #parrot
13:01 Coke msg pmichaud https://trac.parrot.org/parrot/ticket/691 will be of interest to you. :|
13:01 purl Message for pmichaud stored.
13:01 fperrad Infinoid, you must wait few hours, because osuosl support works in Pacific timezone
13:02 Coke Infinoid: thanks for doing the release. did we lose tewk?
13:02 Infinoid fperrad: I'm in the Pacific timezone too :)  But yeah, it's only 6am here
13:02 Coke Infinoid: you didn't fix the test with --run-pbc
13:02 Infinoid Coke: he's around, but seemed happy to hand it off
13:02 Coke (oh, nevermind.)
13:03 Coke Infinoid: I had worked that patch before you fixed it, and committed it after.
13:03 Coke the --run-pbc version turned out to still be needed.
13:03 * Coke finds yet another reason why I can't build partcl.
13:05 Infinoid sorry, what did I miss?
13:06 dalek partcl: r346 | coke++ | wiki/ParrotIssues.wiki:
13:06 dalek partcl: Edited wiki page through web user interface.
13:06 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=346
13:06 Coke issue #691
13:06 Coke ooh. and if I ignore that and just run the PBC directly, I get another.
13:07 nopaste "Coke" at 72.228.52.192 pasted "Whee." (6 lines) at http://nopaste.snit.ch/16621
13:07 Coke That'll be yet another one once I whittle it down to a simple test case without partcl.
13:08 Infinoid ok, so it's trying to load the wrong path
13:08 Infinoid Should /usr/local/runtime/parrot/include/config.fpmc be /usr/local/lib/parrot/1.2.0/include/config.fpmc, or did we install it to the wrong place?
13:09 Coke Infinoid: I don't know what the right answer is, only that the way it is now is wrong. =-)
13:10 Coke AHA.
13:10 Coke for the other issue, it's that we don't install Tcl/Glob.pbc
13:10 particle joined #parrot
13:10 Coke we only install Tcl/Glob.pir
13:11 Infinoid oh!  there were a few of those changes recently
13:11 Infinoid I think we really need to do a fake installation as part of "make test".
13:11 Coke $ parrot tcl.pbc
13:11 Coke Unable to open filehandle from path '/home/infinoid/parrot-1.2.0/l​anguages/tcl/library/init.tcl'
13:11 Coke ... And we're attracting language developers how? =-)
13:12 gryphon joined #parrot
13:12 Infinoid heh
13:12 Coke I would say "make fulltest", but yes, we need to test it.
13:15 particle joined #parrot
13:16 dalek partcl: r347 | coke++ | trunk/runtime/tcllib.pir:
13:16 dalek partcl: parrot doesn't install the PBC of this library;
13:16 dalek partcl: (it used to be available in the build dir)
13:16 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=347
13:18 Infinoid So for the config.fpmc issue, the installed path looks right according to PDD30, so I'd say the expected path is wrong
13:20 particle joined #parrot
13:20 Coke is that "should be installed in the 1.2.x dir and should be looking there too" ?
13:20 pmichaud coke: (TT #691)  -- is that just saying that pbc_to_exe doesn't work for an installed parrot?
13:21 Coke pmichaud: that's the upshot, yes.
13:21 Coke is there already a ticket for that? =-)
13:21 pmichaud but it still works for the build tree?
13:21 Coke I don't have the build tree.
13:21 Coke I mean, if 'make test' works, it probably works.
13:21 pmichaud Oh.  We still don't (even attempt to) build Rakudo from installed parrot, so it doesn't affect rakudo much yet :-)
13:22 Coke just another reason why you can't build from an installed. =-)
13:22 pmichaud Correct.
13:22 Coke I am finally at the point where I can build tcl.pbc and run it... before it dies trying to find something in the build directory at runtime.
13:22 Coke (but only on linux, one of the more permissive platforms. =-)
13:25 Infinoid The file '/home/infinoid/parrot-1.2.0/l​anguages/tcl/library/init.tcl' doesn't exist, so it seems irrelevant whether it's looking for an installed or build-local copy of it
13:25 particle joined #parrot
13:25 Infinoid The tarball is in my homedir, if you want to test against that
13:25 Infinoid but I'm not really sure how else I can help to fix it
13:28 Coke Infinoid: that file is in MY directory.
13:29 Coke why a file open would magically try to look starting in the build dir...
13:29 Coke ... unless I have it set to check the build dir for something. I'll double check.
13:30 particle joined #parrot
13:36 davidfetter joined #parrot
13:38 Coke yah, the "languages/tcl" should have been a clue.
13:38 Infinoid Does partcl still expect to be unpacked in its old subdir of the parrot tree?
13:39 Infinoid ack reports almost 70 references to languages/tcl/...
13:40 Coke Infinoid: given that this is the closest I've ever gotten to even /building/ partcl outside of the tree, very likely. =-)
13:40 Infinoid :)
13:41 Coke there. $ parrot tcl.pbc -e "puts {hello world}"
13:41 Coke hello world
13:41 Coke so, that's something.
13:41 Infinoid cool
13:42 dalek partcl: r348 | coke++ | trunk/runtime/tcllib.pir:
13:42 dalek partcl: Don't try to find files in the BUILD directory of parrot.
13:42 dalek partcl: For now, look for this in the current directory.
13:42 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=348
13:44 Coke I can see why OS X has languished, since linux mostly works.
13:46 Coke guess I should have tried on feather earlier.
13:47 dalek partcl: r349 | coke++ | trunk/config/makefiles/root.in:
13:47 dalek partcl: don't try to build tclsh anymore
13:47 dalek partcl: due to parrot's TT #691
13:47 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=349
13:47 Coke next step would be to run 'make test', which is a task for another time.
13:48 Jimmy joined #parrot
13:48 Coke Infinoid: thanks for doing the install on feather. Most progress I've made on partcl since 0.9
13:51 Infinoid No problem.  Sorry for forgetting about install-dev
13:51 Infinoid (since parrot is very much a developer tool, it always seems a bit strange that there'd be a distinction)
13:58 Jimmy good evening
13:59 Infinoid hi Jimmy
13:59 Jimmy hello Infinoid
14:02 bacek Infinoid: my cheat doesn't work...
14:07 rakudohudson joined #parrot
14:09 dalek rakudo: f62aa0f | jnthn++ | src/ (2 files):
14:09 dalek rakudo: Refactor our handling of attribute initializers. The RHS should become an anonymous method. This should get us in line with the spec, and resolves at least RT#65346.
14:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​62aa0f231c7497b4b719f1812dec74a85365c55
14:10 Coke Infinoid: I would have no problem killing "install-dev" and just installing everything.
14:10 Coke that's what the macport bundle is going to do.
14:10 Infinoid cool.
14:11 Infinoid I get the reason behind it; it's the same reason there's a jdk and a jre
14:11 Infinoid but it seems like the kind of thing I wouldn't have added until 2.0 or so
14:12 Infinoid so I keep forgetting it exists
14:12 Coke if only I had a working PDK. =-)
14:13 Coke I am excited to get make test running again, if only I could skip $DAYJOB. :|
14:18 iblechbot joined #parrot
14:20 pmichaud If I'm in a non-parrot HLL, what's the proper way for me to create a new Integer PMC instance?
14:21 pmichaud do I have to use:    $P0 = get_root_namespace ['parrot';'Integer']   followed by   $P1 = new $P0     ?
14:24 dalek parrot: r38985 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
14:24 dalek parrot: [pmc] Add more MMD registration stubs into Integer.
14:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38985/
14:24 dalek parrot: r38986 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
14:24 dalek parrot: [pmc] Rework Integer.divide methods without MULTIs.
14:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38986/
14:24 dalek parrot: r38987 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
14:24 dalek parrot: [pmc] Integer.cmp and cmp_num are same.
14:24 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38987/
14:27 masak joined #parrot
14:31 NotFound pmichaud: looks like a sane way to me.
14:31 pmichaud NotFound: there's a followup :-)
14:31 Theory joined #parrot
14:31 pmichaud If I have my own custom PMC  (a dynpmc), how do I create a new instance of that?
14:31 pmichaud do I have to use...
14:32 pmichaud $P0 = get_root_namespace ['parrot';'MyDynPMC']   followed by $P1 = new $P0   ?
14:33 NotFound pmichaud: I suppose that it must work, but I don't know
14:34 pmichaud it just seems "very icky" that I'd have to do a namespace lookup every time I want to create an instance of my custom PMC
14:38 NotFound Qualifying PMC with an HLL still doesn't work, isn't it?
14:38 bacek pmichaud: new 'MyDynPMC' will look into current HLL first. (if I read sources correctly)
14:39 jonathan bacek: Yeah, but your dynpmcs don't live in the HLL.
14:40 bacek My dynpmcs died waiting for mmd to dispatch call to them :/
14:49 Coke pmichaud: tcl always just did new 'Integer'
14:50 Coke ... but then, I didn't get an Integer, I got my HLL_Map'd version, no doubt.
14:50 Coke oh wait, no, I got Integer. =-)
14:50 Coke (that's not an autobox location)
14:56 pmichaud Coke: currently    new 'Integer'   does look in the parrot HLL, although according to allison++'s most recent post on the issue, afaict it shouldn't.
14:56 pmichaud (where allison's most recent post is from January 2009)
14:57 pmichaud "For class lookups 'newclass', 'subclass', 'get_class', and 'isa' all
14:57 pmichaud accept a string name or a PMC. That PMC can currently be a Key, String,
14:57 pmichaud ResizableStringArray, or NameSpace. If it's a namespace, the class is
14:57 pmichaud directly extracted from the namespace. If it's one of the other three,
14:57 pmichaud then it does a namespace lookup (HLL-relative) and extracts the class
14:57 pmichaud from that namespace (if it exists).
14:58 pmichaud bacek:  I read the above as meaning "look only in the current HLL", not "look in the current HLL first"
14:59 pmichaud (for those who want the reference:  http://lists.parrot.org/pipermail/p​arrot-dev/2009-January/000863.html )
15:02 Coke I'm sure that "what's intended to work" and "how to do it now" are not the same. =-)
15:05 NotFound But new is not newclass
15:15 pmichaud Correct, it's not.  But I'd be a little surprised if it treated string/key/array class identifiers substantially differently from the other class-based opcodes.
15:17 Whiteknight joined #parrot
15:20 Andy joined #parrot
15:20 pmichaud message sent to parrot-dev, we'll see if we get any responses there.
15:20 purl Message for sent stored.
15:20 particle joined #parrot
15:20 donaldh joined #parrot
15:21 sent I have several messages X-)
15:27 Coke mmhehehe
15:37 NotFound Actually, if a namespace with the same name as the class does not exist, Parrot_oo_get_class_str uses pmc_type to find a pmc.
15:38 Whiteknight that whole system of looking up classes and proxies needs major overhaul
15:39 NotFound It does not search for the proxy, search the pmc and then create a proxy.
15:41 Whiteknight so it doesn't cache the proxies that it creates?
15:41 NotFound I suppose that if finds the proxy in the previous step, looking for the class in the hll namespace.
15:47 NotFound Looks like not.
15:51 allison NotFound: yes, I sent a patch to the list yesterday
15:51 allison I mean, to the channel
15:51 Whiteknight okay, that would be a good thing to cache those
15:52 allison http://nopaste.snit.ch/16616
15:52 allison it solves the problem of not finding the proxy
15:52 allison but, it also causes several test failures
15:52 NotFound To cache what? If it is not supposed to find it here, there is no point in cachin' it.
15:53 allison apparently from code that expects to have the proxies cached in every hll
15:53 allison Whiteknight: proxies are cached
15:53 NotFound allison: but we were commenting that lookup by string is not supposed to find things outside the current hll.
15:53 Whiteknight okay, that makes me feel better
15:54 allison Whiteknight: but they're cached in the namespace object attached to the C PMC
15:54 allison NotFound: it *shouldn't*, I agree
15:54 NotFound allison: the we shouldn't fix the wrong thing,.
15:54 allison NotFound: but it currently does, and we have code that depends on it working that way
15:55 NotFound I don't think we must work on optimizing wrong undesired code.
15:55 allison NotFound: yup, I started out trying to fix up my patch to match the old behavior, then scraped it and went to looking what needs to be modified in the wrong code
15:56 NotFound Much better :)
15:56 allison as far as I can tell, the namespace stored attached to the C PMC is the wrong namespace
15:57 Whiteknight wrong in what sense?
15:57 allison in the sense that it's not the same namespace found by the lookup
15:57 Whiteknight oh wow
15:58 Whiteknight joined #parrot
15:58 dalek rakudo: 14bba5f | masak++ | docs/announce/2009-05:
15:58 dalek rakudo: [docs/announce/2009-05] added details about rakudobugs
15:58 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​4bba5f213b5d1a0fb2a2cb2f4d7d476f2106d89
15:59 allison my patch adds a second lookup in whatever namespace is attached to the C PMC
16:05 NotFound BTW, extension C code that wants to be robust must always use a namespace pmc when looking for a class. Otherwise, it doesn't know what is the current HLL, and thus doesn't know where is the search by name or key being done.
16:09 baest joined #parrot
16:09 pmichaud allison:  you saw my message sent to parrot-dev about proxies?
16:10 NotFound Someoon fixed TT #667 and forget to update the ticket?
16:11 allison pmichaud: aye, and I also saw your repost of my January suggestion for a better interface
16:11 pmichaud any quick answers?
16:12 jan joined #parrot
16:12 allison the quick answer is yes, it's looking in the current namespace, and only the current namespace, and that doesn't work for HLLs
16:12 allison in the current HLL
16:13 pmichaud same for custom dynpmcs?
16:13 pmichaud i.e., we'd have to look up in the parrot namespace to use those?
16:13 pmichaud (or otherwise do some funky namespace mapping)
16:14 NotFound What's the problem in fixing the HLL PMC declaration?
16:14 allison pmichaud: mmm... yes, it should currently be storing dynpmcs also in the 'parrot' namespace
16:14 pmichaud allison: it currently is doing that... I'm more interested in whether it should be doing so
16:15 allison because we don't have any way to declare an hll namepsace in the C PMCs
16:15 pmichaud seems like per-HLL dynpmcs ought to go into the HLL given by their 'hll' attribute
16:15 NotFound Or is just that no one tried?
16:15 pmichaud we don't?
16:15 pmichaud currently  Perl6Str  is declared with "hll Perl6"  although that appears to be (silently) ignored
16:15 allison pmichaud: they ought to, but AFAIK, they don't currently
16:16 NotFound ETOOMUCHSILENTLYIGNORES
16:16 pmichaud okay.  I am asking for both "what they do now" and "what they ought to do"
16:16 pmichaud (for planning purposes)
16:16 Coke back in the day, you couldn't create a PMC except in root anyway.
16:16 pmichaud it's okay if they currently go in 'parrot', I just need to be able to adjust to it.
16:16 NotFound Coke: Back in may 2009?
16:16 * allison looking to see if pmc2c even does anything with the hll attribute
16:17 Coke NotFound: "back in the day" == "very long ago."
16:17 Coke back when the .HLL was added.
16:17 allison pmichaud: what should happen is every C PMC should live in an HLL appropriate to its language
16:17 NotFound Ah, root. Well, change that to 'parrot'
16:17 allison root and parrot are equal
16:18 allison (root is just an alias to the parrot HLL)
16:18 pmichaud It looks like PMCEmitter.pm uses the 'hll' attribute simply for setting up a type mapping.
16:18 pmichaud i.e., along with the 'maps' attribute.
16:19 allison so, it needs to be used to to also initialize the _namespace attached to the C PMC's vtable
16:19 pmichaud That seems reasonable.
16:19 allison is "Perl6" the name of the HLL or 'perl6'?
16:20 pmichaud we're currently using 'perl6' as the name of the HLL.
16:20 pmichaud The "Perl6" that Perl6Str uses is more historic (and apparently didn't do anything useful anyway)
16:20 allison okay, then can change to be consistent?
16:20 pmichaud sure.
16:21 NotFound Are HLL names converted to lower case?
16:22 pmichaud Anyway, Rakudo's short-to-medium term workaround for all of this:  introduce a "new_parrot" dynop that makes it easy to build PMC instances that are actually in the parrot HLL
16:22 allison NotFound: an HLL can pick its case, but it has to be consistent (we're not doing case conversions internally)
16:22 NotFound Looks like the HLL namespace has the name of the HLL converted to lower case.
16:23 allison pmichaud: if you name it new_hll and let it take a string parameter for the name of the HLL, we can make it core instead
16:24 nopaste "NotFound" at 213.96.228.50 pasted "HLL namespace silly tests" (57 lines) at http://nopaste.snit.ch/16622
16:24 allison pmichaud: mainly, I would like to implement that Hash argument to get_class
16:25 pmichaud $P0 = new_hll 'parrot', 'Integer'   # like this?
16:25 allison pmichaud: aye
16:25 pmichaud I wasn't going to worry about the keyed case
16:25 pmichaud $P0 = new_hll 'parrot', ['Integer']   # not this
16:26 pmichaud if we want to add the keyed case, I suppose we could do that.
16:26 pmichaud ...what's the Hash argument to get_class ?
16:26 allison if it's just the plain string case, then it can be 'new'
16:26 allison the message you reposted earlier
16:26 allison where you can specify 'hll', 'namespace', and 'name'
16:26 allison as hash keys
16:27 allison and pass that in in place of ['Integer']
16:27 pmichaud class creation isn't currently an issue for me.
16:27 pmichaud so I'm not really pointing to that.
16:27 allison when you call 'new' for a low level type, it's calling get_class
16:27 pmichaud sure, but get_class isn't class creation.
16:27 allison right, I'm talking about the Hash interface for lookups
16:28 pmichaud okay, I'm confused.
16:28 allison as in $P0 = new hash_lookup_arg
16:28 pmichaud okay, I'm less confused.
16:29 pmichaud Doing the hash lookup for 'new' would generally be even more work (and costly) than simply using get_root_namespace
16:29 allison how so?
16:29 pmichaud because I'd need to build the Hash, for one.
16:30 allison and the other case is... maybe two calls
16:30 allison about the same
16:31 pmichaud building the hash is definitely more expensive than looking up a namespace
16:31 allison if we can hide it behind an op interface, I don't care what order it does the lookup, since we can always change it later
16:31 NotFound The HLL namespace conversion to lower case is a bug, then?
16:31 allison NotFound: yes, legacy code
16:31 NotFound Can we fix it, or need a deprecation cycle?
16:32 allison NotFound: would need a deprecation, since it would break some existing languages
16:33 pmichaud anyway, for the various tools and languages I'm working with, the ability to use a hash for class lookups doesn't seem all that beneficial/helpful
16:33 allison pmichaud: for the immediate answer, let's just add variants to 'new' that take an initial string argument for HLL
16:33 NotFound Urgh. Can we do some in the meantime, like storing an alias?
16:34 pmichaud allison:  there might be a collision there
16:34 jonathan allison: We already do too much stuff with strings for lookups. :-(
16:34 allison when we get it, we can know to perform the lookups in the named HLL instead of the current hll
16:34 allison jonathan: HLL names are just strings
16:34 pmichaud jonathan: oh, I'm not too concerned with using strings for HLL names
16:34 pmichaud but we already have a    new_p_s_p  variant
16:35 allison this would be new_s_p
16:35 pmichaud so we might end up with a collision on      $P0 = new 'parrot', ['Integer']
16:35 allison or new_s_p_s_p
16:35 allison oh, no, the initial p is the return
16:35 pmichaud there's already a   new_p_s_p
16:35 NotFound P = new S, S Isn't it?
16:35 allison new_p_s_p woul be $P0 = new 'stringname', init_hash
16:36 pmichaud right.
16:36 pmichaud so you're saying     new_p_s_s  (and _only_ that)
16:36 pmichaud $P0 = new 'parrot', 'Integer'    # okay
16:36 pmichaud $P0 = new 'parrot', ['Integer']   # not what you expect.
16:36 allison if we add the hash interface, then we can say the hll has to be specified in the init hash if you pass one
16:37 allison I mean, we can take the step of new_hll just like we have get_hll_namespace
16:37 davidfetter joined #parrot
16:38 pmichaud I'm comfortable with new_hll.
16:38 allison alternatively, we could finally take the plunge and require all names to be at least keys
16:38 pmichaud I also don't have an issue with requiring names to be keys, but that seems orthogonal to the issue we're currently having.
16:39 allison it is
16:39 allison and swapping out one syntax for something that looks the same but behaves differently is confusing
16:39 allison so, new_hll it is
16:39 allison oh, that should be hll_new, I suppose, so people don't think they're creating an HLL like new_class
16:40 pmichaud hll_new ++
16:40 NotFound BTW, there are still some :: class and namespace separators in the code base. Can we kill them all?
16:40 Coke you can't start making ops named consistently NOW. it's unseemly.
16:40 pmichaud if we think we're going to require names to be keys, perhaps we should only have   hll_new_p_s_p   ?
16:40 pmichaud and not hll_new_p_s_s  ?
16:40 allison NotFound: yes, they can be replaced by ; or separated into keys
16:40 Coke NotFound: they were supposed to be killed some time ago. if they're in a stdlib, has to wait to 1.4+
16:41 allison pmichaud: +1
16:41 purl 1
16:41 allison pmichaud: no need to implement the old
16:41 NotFound Coke: I was supposing the same, until last week, were I fixed a lot ot them.
16:41 pmichaud and should it be "hllnew" instead of "hll_new"?
16:41 Coke NotFound: in trunk?
16:41 NotFound Coke: yes
16:41 Coke GAH
16:42 allison pmichaud: we tend to separate words with spaces in ops, at least in the newer ops
16:42 allison (with underscores)
16:42 NotFound When getting rid of the 'library/' prfixes in load_bytecode
16:42 pmichaud allison: fair enough.
16:42 Coke NotFound: I thought you were just getting rid of library/ not changing the API.
16:42 pmichaud okay, so we'll add   hll_new_p_s_p
16:42 Coke and now it's in a release. whee.
16:42 allison and, we may end up with a collection of hll_* ops
16:43 allison also hll_new_p_s_p_p
16:43 NotFound Coke: that was the intention, but lots of things failed if not fixed.
16:43 pmichaud the only one that occurs with any frequency that I've encountered is the need for 'new'
16:43 allison (with init hash)
16:43 allison yes, but we shouldn't make it impossibly difficult to pass an init hash
16:43 pmichaud get_class, isa, etc.  can all work equally well with namespaces, and are rare enough that I'm not sure they deserve custom opcodes
16:43 Coke allison: do we have yet a policy on how to document breaking our support policy?
16:44 Coke (we'll probably need to do that for 1.4 now.)
16:44 pmichaud my "only one that occurs with any frequency" was directed at your "we may end up with a collection of hll_* ops"
16:44 allison pmichaud: ah, yes, I wouldn't add hll variants for those
16:44 pmichaud not at the "init hash" one.
16:44 Tene i've seen some issues with that 'library/' path prefix...
16:44 allison right
16:44 allison (the lovely asynchronous nature of IRC)
16:44 pmichaud yes, hll_new_p_s_p_p
16:44 pmichaud no problem.  Rakudo will use those.
16:44 allison so will Pynie
16:45 Tene for example, .include 'dumper.pir' @ no such file or directory
16:45 Coke is the 's' there for the name of the hll?
16:45 NotFound Coke: we have test that must be change if you change a single char in the code. That way is impossible to use the test suite to verify that we are not breaking anything.
16:45 pmichaud jonathan: think it's worth trying to fix Rakudo to get the speed improvement for the release, or should we just let the release be slow and then convert Rakudo to the new opcode?
16:45 Tene .include 'library/dumper.pir' # works
16:45 pmichaud Coke:  yes.
16:45 pmichaud $P0 = hll_new 'parrot', ['Integer']
16:45 pmichaud and
16:45 pmichaud $P0 = hll_new 'parrot', ['AClass'], init_hash
16:45 Tene so something broken with the search path if that doesn't work.
16:45 jonathan pmichaud: Write the op as a dynop. Ship it. Then after the release, copy paste it into var.ops and remove it from Rakudo and bump us to the latest revision.
16:45 Coke NotFound: that's certainly a stupid test, yes.
16:46 pmichaud jonathan: yes, I was thinking of that possibility also.
16:46 allison jonathan: no, I want it as a core op
16:46 pmichaud allison: we'll dynop it only until we can move it into Parrot.
16:46 jonathan allison: plz re-read :-)
16:46 Coke but it sounds like you changed something like Data::Dumper to ['Data';'Dumper']. No?
16:46 allison oh, I see, for the immediate Rakudo release
16:46 allison yes
16:46 pmichaud Since 1.2 released yesterday, we can't rely on the dynop for Rakudo's release tomorrow.
16:46 jonathan :-)
16:46 NotFound Coke: yes, and all test passed like a charm
16:46 jonathan Right. And shipping a Rakudo that performs awfully kinda feels bad.
16:47 jonathan Not to mention that the op will look exactly the same in Rakudo as it would in Parrot, so it really should be a "just move it" job.
16:47 pmichaud Correct.
16:47 pmichaud It's not a problem to do the move.
16:47 Coke NotFound: anyone using the library file will be broken when 1.4 is now shipped, though.
16:47 allison hmmm... adding the op won't fix Rakudo
16:47 pmichaud I think it will.
16:47 allison at least, not the PMC proxy lookup problem
16:47 pmichaud I think it will.
16:47 Coke if they're trying to load 'Data::Dumper' and not ['Data';'Dumper'] ...
16:48 allison well, if you implement it to completely avoid get_class for the moment, it can work around the problem
16:48 pmichaud I think the fundamental issue with the PMC proxy lookup problem is that every call to 'new' is generating a new Proxy PMC
16:48 pmichaud (because 'new' does a 'get_class')
16:48 Coke I would love to see this discussion sumarized on list for discussion before the op is added. =-)
16:48 allison a Proxy is supposed to be generated for every C PMC that's used
16:49 NotFound Coke: all usages I've seen used dumper, not Data;Dumper
16:49 pmichaud and there are a lot of places where Rakudo does things like     $P0 = new ['ResizablePMCArray']
16:49 allison the problem is that it's not finding the cached PMCProxies
16:49 pmichaud or even
16:49 pmichaud $P0 = new ['Perl6Scalar']
16:49 pmichaud as a result, every one of those calls to 'new' is generating a new PMCProxy
16:49 pmichaud and not looking up the correct one in the parrot namespace
16:49 pmichaud but if we switch those to be
16:49 gryphon joined #parrot
16:49 Coke NotFound: even if we're not testing it, that still smells like an API change to me.
16:49 allison right, they should be generating one proxy, and reusing it
16:50 pmichaud $P0 = hll_new 'parrot', ['Perl6Scalar']
16:50 NotFound Coke: my aplogies, then,.
16:50 Coke Just like if we renamed a C function that we weren't calling directly from the tests.
16:50 pmichaud then the dynop is going to look it up in the correct place
16:50 pmichaud and no additional PMCProxy will get created.
16:50 Tene allison: can you confirm that 'dumper.pir' is going to be the preferred path over 'library/dumper.pir'?
16:50 Coke NotFound: no one complained on the commits. What can you do.
16:50 Tene for load_bytecode?
16:50 pmichaud currently the places where we do "get_class" is because we didn't have a way to do hll_new
16:50 allison Tene: yes libraries should never prefix 'library/' to the path
16:51 dalek rakudo: 01ec2a7 | jnthn++ | src/pmc/perl6multisub.pmc:
16:51 dalek rakudo: Fix up Perl6MultiSub to not let named paramters get in the way in various cases. Resolves two RT tickets. Also name a magic value and a little visual tweak.
16:51 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​1ec2a7bfcf2487e89e196ae72ef254de32d5200
16:51 Coke We can use this as an opportunity to decide what the path should be if we ever /have/ to violate our support policy.
16:51 Coke (or if we do it again by accident.)
16:51 allison pmichaud: for now just make it work
16:51 pmichaud allison: no problem.  :-)
16:51 Tene allison: the former doesn't work.
16:51 NotFound BTW, the usage message of dumper.pir is about Data::Dumper, not about himself
16:51 Tene Wait, nm.  i was using .include
16:52 allison pmichaud: once we fix get_class, then hll_new should be using the same "lookup Class/Proxy" code as new
16:52 Coke allison: is it intentionally that we're not installing, e.g. Tcl/Glob.pbc ?
16:52 Coke s/ly//
16:52 nopaste "tene" at 166.70.38.237 pasted ".include path fail for allison++" (3 lines) at http://nopaste.snit.ch/16623
16:52 NotFound I also killed several wrong .include in the library
16:52 pmichaud allison: you're going to change get_class to always take a hll argument?
16:53 allison I'm talking about the C Parrot_oo_get_class
16:53 pmichaud right.  All hll_new is going to do is to look up the correct hll namespace, and pass it to Parrot_oo_get_class
16:53 allison Coke: do you mean in Tcl?
16:53 NotFound afk_coke: uh, wait, looks like Data::Dumper was not between the things already changed
16:54 allison pmichaud: or even better, will just pass a string argument for hll name to get_class, which will do the hll lookup
16:54 pmichaud using string names for class identifiers is Evil.
16:54 allison (for consistency)
16:54 pmichaud I refuse to go that path.
16:54 pmichaud we should identify classes by namespaces.
16:54 allison pmichaud, not for class identifiers, for HLL identifiers
16:55 pmichaud but Parrot_oo_get_class doesn't currently take a hll argument.
16:55 allison the classname key and hll name are separate
16:55 allison nope, but it should
16:55 pmichaud thus my earlier question:  "you're going to change get_class to always take a hll argument"?
16:56 pmichaud personally, I prefer that we just pass the namespace to get_class.
16:56 pmichaud having already obtained it from the correct hll.
16:56 allison yes, on the C side, but it could be null
16:56 allison well, that's what we're going to do for now
16:56 pmichaud okay.
16:56 allison since changing the signature of Parrot_oo_get_class would require a deprecation cycle
16:56 pmichaud "just make it work".  Got it.
16:57 allison aye :)
16:57 allison Tene: those .includes of 'library/' are just plain wrong
16:58 pmichaud Coke:  What do you need summarized on the list -- the details of the 'hll_new' op?
16:58 Tene allison: remove the 'library/' and it fails.  file not found.
16:58 allison Tene: if something is going to be included, it should be stored in the 'runtime/parrot/include'
16:58 allison not stored in 'runtime/parrot/library/'
16:58 Tene Ah.  You shouldn't be including something in library/
16:58 Tene :)
16:58 Tene OK
16:58 NotFound So how can we deprecate the library classes with :: separator? Having two versions of each during the transition?
16:58 pmichaud Using .include on 'library/' is an artifact of very old-designed libraries.
16:59 pmichaud NotFound: which libraries have :: separators, out of curiosity?
16:59 allison Tene: historically, parrot looked in 'runtime/parrot' for both include files and library files
16:59 NotFound pmichaud: Data, SDL, PostgreSQL, ncurses...
16:59 * Tene nods.
16:59 allison Tene: then we separated them out into two directories, but some legacy code still expects the old way
17:00 NotFound ack '::' runtime/
17:00 pmichaud NotFound: yes, I see, there are quite a few. (more)
17:00 pmichaud Keep in mind that the '::'s that are in the PGE libraries are intentional and should not be removed.
17:01 NotFound Well, some '::' are just wrong examples and messages
17:01 pmichaud same for P6object
17:01 pmichaud most of the ::'s that appear there look as though they come from before we really supported segmented namespaces and classnames
17:01 pmichaud i.e., ['SDL::Class'] instead of ['SDL';'Class']
17:02 pmichaud NotFound: I'd say that we put in deprecation notices for the affected libraries and classes, and then start moving them across after 1.4
17:02 pmichaud it won't be _that_ difficult for others to keep up with the changes.
17:02 pmichaud i.e., we don't really need two versions.
17:03 NotFound I suppose not, given that I already change some and no one complained X-)
17:03 pmichaud beyond that, there's a good question as to whether those libraries really want a complete re-design and implementation anyway
17:03 pmichaud many of them were written _long_ before we had anything like PCT
17:03 NotFound I think SDL is actually not working
17:04 Tene Then it wouldn't hurt anyone to change it. :)
17:04 pmichaud so perhaps deprecating the library is really just slating it for removal entirely
17:04 allison I'd like to see the ones that aren't "core" moved out as external modules
17:04 NotFound At least I was unable to make it work all times I tried.
17:04 pmichaud yes, allison says it better.
17:04 pmichaud we should deprecate them from core and make them into external modules or libraries.
17:05 allison in the Ubuntu packages, I don't even install most of those libraries
17:05 pmichaud Getopts should be deprecated anyway in favor of whatever particle++ is designing/building :-)
17:06 NotFound Can we have a list of those that are "core"?
17:06 pmichaud (although there's a lot of stuff still using getopts, so it probably can't disappear too quickly)
17:06 NotFound A wiki page?
17:06 purl hmmm... a wiki page is nice, but not newbie-friendly
17:08 darbelo joined #parrot
17:10 flh joined #parrot
17:12 allison NotFound: if you look in ports/debian/parrot.install.in and ports/debian/parrot-devel.install.in, you'll have a list of what's core
17:12 NotFound allison: nice
17:12 dalek decnum-dynpmcs: r46 | darbelo++ | trunk/t/rounding_mode.t:
17:12 dalek decnum-dynpmcs: Fix the tests. OpenBSD remains partialy hosed, but now I'm closer to knowing
17:12 dalek decnum-dynpmcs: why.
17:12 dalek decnum-dynpmcs: review: http://code.google.com/p/decn​um-dynpmcs/source/detail?r=46
17:12 allison (just looking at the library/ paths)
17:13 pmichaud afk # lunch
17:13 allison everything in runtime/parrot/include is currently core
17:13 allison (AFAIK)
17:13 allison afk_coke: I'm looking into the Tcl/Glob.pbc
17:15 NotFound message Coke I was wrong, Data::Dumper is still not converted to ['Data';'Dumper']
17:15 purl Message for coke stored.
17:22 allison wow! I just svn up'd Partcl and it's not only successfully building, it's passing most of its tests!
17:22 allison "198/1314 subtests failed"
17:23 Whiteknight that is quite a nice change
17:25 allison D'oh! I just realized what Coke was asking. Tcl/Glob.pbc is in the Parrot repository, not in the Tcl repository.
17:26 allison message Coke Tcl/Glob.pir and .pbc should move into the Tcl svn repository, to be built and installed with Tcl. Any objections if I go ahead and do that?
17:26 purl Message for coke stored.
17:44 afk_coke Yes. =-)
17:44 Coke that's not a tcl-specific glob.
17:45 Coke it's just called that for lack of a better name. Feel free to rename it.
17:45 Coke NotFound: whee!
17:45 NotFound Coke: you guilty, you put Data;Dumper in my head ;)
17:45 Coke it was just an example! =-)
17:46 NotFound I think I must take notes more frequently about the thing I change.
17:46 Coke message allison Tcl/Glob.pbc isn't really tcl-specific; it's just a glob variant of PGE, like p5 or p6 regexen.
17:46 purl Message for allison stored.
17:47 Coke message allison; that's why it wasn't in languages/tcl, so other languages could share it; so I think it should stay in core, perhaps renamed, sure.
17:47 purl Sorry, I've never seen allison; before.
17:47 Coke message allison that's why it wasn't in languages/tcl, so other languages could share it; so I think it should stay in core, perhaps renamed, sure.
17:47 purl Message for allison stored.
17:47 Coke purl, idiot.
17:47 purl i heard idiot was someone who goes to an encyclopedia looking for something specific, reads it, and puts the encyclopedia away, looking at no other entries. or http://flyingpenguinproductions.com/boards/
17:47 Coke purl is an idiot?
17:47 Whiteknight purl
17:47 purl yes, Whiteknight?
17:48 Whiteknight purl purl?
17:48 purl i am a she. or captain obvious or so corny sometimes or creepy or a he or is also is also is also or retarded or NOT STEVAN or kd's quotefile
17:48 Coke message allison my original question is, should we be installing the .pbc of library stuff at all, or only .pir?
17:48 purl Message for allison stored.
17:49 Coke message allison (if only pir, then we shouldn't build it to .pbc in the build dir.)
17:49 purl Message for allison stored.
17:49 Coke that's a lot of messages
17:50 NotFound Coke: I think that the better way for library installs will be to copy the pir files and compile them to pbc.
17:51 Coke so, more like the build dir is now?
17:51 Coke I would expect loading the .pbc would be faster, but have no data to confirm. =-)
17:52 NotFound In package installer terms, a post-install task
17:53 NotFound Coke: if we keep using load_bytecode '....pir', we'll never know if loading pbc is slow ;-)
17:55 Coke (keep using) I wasn't using it! I only switched to it because that's all I'm given now. =-)
17:55 Coke eh. if we're going to ship them, we might as well build them as we already do.
17:55 NotFound Or even if it works. When I dropped the 'library/' prefixes I found some problems.
17:56 NotFound Coke: if we build them for distribution, we add a platform dependency that might not be required otherwise.
17:57 Coke ... huh?
17:57 NotFound Well, not a dependecy in strict sense if we're able of loading non-native pbc, but...
17:57 Coke my concern with not doing it during 'make' is that then "running out of a build dir" and "running against an install" means you can't do both.
17:58 Coke which is fine, I suppose, since I can't really do either atm.
17:58 NotFound Ah, no. You can build them. I just say that we must not copy them to packages for installers.
17:58 Coke wait, allison could run "make test" in partcl!?
17:59 Coke NotFound: I don't know what those nouns mean here, I guess.
17:59 NotFound Instead, the installer must compile
17:59 Coke didn't the installer already compile it when he ran 'make' ?
17:59 Coke why does he have to compile them again?
17:59 Coke or why shouldn't he use those copies he already built?
17:59 Coke -> $DAYJOB
18:00 NotFound Maybe I mixing concepts %-)
18:02 particle1 joined #parrot
18:16 bsdz joined #parrot
18:16 davidfetter joined #parrot
18:21 Tene pmichaud: how about a method on the parrot compiler object that accepts a (space-delimited string|list of strings|other) of symbols in the local namespace to arrange for exporting (support tags would be nice) (presumably putting them in an EXPORT::TAG sub namespace)
18:23 Theory joined #parrot
18:26 allison Coke: ah, okay, then we could change the name of Tcl/Glob to something general and install it. Perhaps in the PGE namespace?
18:28 allison Coke: since the install is all in versioned directories, it's okay to go ahead and install the .pbc
18:28 allison Coke: the pbc installed in the 1.0.0 directories will always be compatible with the 1.0.0 libraries
18:29 Whiteknight irclogs?
18:29 purl irclogs is http://irclog.perlgeek.de/parrot/today or see also: infrared clogs
18:29 japhb joined #parrot
18:30 pmichaud Tene: that's similar to what I had been thinking/doing -- see '!EXPORT' in Rakudo for an example.
18:30 allison Coke: you're not able to run 'make test' in partcl?
18:30 pmichaud except that !EXPORT was of course exporting to the global scope; this one should simply make them available via the appropriate hash.
18:31 Tene pmichaud: exactly.
18:31 allison NotFound/Coke: oh, but if you load all the files as .pbc, Parrot is smart enough to fall back to .pir if the .pbc files don't exist
18:31 pmichaud I don't know that the parrot compiler object should be explicitly sticking them into namespaces, though -- simply making them available via the interface we described via load_library should be sufficient.
18:31 Tene .sub :load :init { a = compreg parrot; a.omgexport('foo bar baz lol wtf etc') }
18:32 pmichaud OTOH, if you want to go ahead and make the extra namespaces, I'm okay with that for the time being.  It just sounds too perl6-centric to do that.
18:32 Tene pmichaud: where else could it put the symbols?  Some global registry object?
18:32 pmichaud the compiler can keep track of them
18:32 pmichaud in a hash or hash of hashes or something like that.
18:33 Tene Sure, OK.
18:33 allison pmichaud/Tene: I like that
18:33 NotFound allison: I'm not sure if it's still trying to load pbc as pir or pir as pbc
18:33 pmichaud that way it could be more generic than just for the 'parrot' compiler, but also work for other compilers as well without polluting their namespaces.
18:34 NotFound left #parrot
18:34 NotFound joined #parrot
18:34 NotFound What happened?
18:34 purl We don't know what happened, so tell everyone nothing happened.
18:35 allison NotFound: .pir falls back to .pbc, .pasm falls back to .pbc, and .pbc falls back to first .pir, and then .pasm
18:51 Theory_ joined #parrot
19:01 donaldh left #parrot
19:10 Coke allison: no. 'make test' is assuming too much about where things are. do you have a local patch you need to commit? =-)
19:10 NotFound t/pmc/namespace.t has "add_sub() with error # TODO needs full implementation of PDD 17" However, I don't see what hat has pdd17 to do with the reason of his fail
19:11 Coke allison: no, when I did load_bytecode "Tcl/Glob.pbc", it barfed most heavily, even though the .pir was present.
19:11 Coke (this was on feather in a recent checkout of partcl running against the installed 1.2.0
19:11 Coke said it wasn't a valid bytecode file.
19:11 NotFound It fails mainly beacuse the Closure pmc does not exist.
19:12 Coke NotFound: once something is todo'd, the message immediately starts to rot.
19:12 pmichaud allison: ping
19:13 NotFound Coke: yes, I've seen that too. It falls back to .pir in the filename, but not in the expected format of the content.
19:13 NotFound The Closure pmc was dropped some time ago, isn't it?
19:14 Coke NotFound: makes sense (in that it explains the bizarre, unexplainable error message. =-)
19:14 Coke I'll open a ticket.
19:14 NotFound The other error is that it uses pir_error_output_like, but it ends without error, beacause the exception is catched.
19:15 Coke message infiniod - I added a 1.2.0 version on trac for bugreporting.
19:15 purl Sorry, I've never seen infiniod before.
19:15 Coke message infinoid - I added a 1.2.0 version on trac for bugreporting.
19:15 purl Message for infinoid stored.
19:15 NotFound purl: good bot
19:15 purl thanks NotFound :)
19:16 NotFound Well, if what the test chekcs is just that it can add several things in the namespace, and fails when adding as sub something that's not a sub, it can easily be DOed
19:17 Coke ticket opened in #692
19:18 Coke message infinoid - should we add trac tickets to the noise in here?
19:18 purl Message for infinoid stored.
19:18 * Coke makess 1.2.0 the default version for bugreports.
19:19 NotFound Well, not so easily, first I must make sure I don't broke the latin-1 depending tests :D
19:20 donaldh joined #parrot
19:20 NotFound By the way, those tests are broken, I can corrupt the file and they still pass
19:22 NotFound The characters just get corrupted in both places X-)
19:23 fperrad joined #parrot
19:27 dalek rakudo: 60f709d | jnthn++ | src/parser/grammar.pg:
19:27 dalek rakudo: Follow a STD.pm addition.
19:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​0f709daa6b46b2f27714446ed8b121c37c75f45
19:28 dalek parrot: r38988 | NotFound++ | trunk/t/pmc/namespace.t:
19:28 dalek parrot: [test] fix and unTODO a namespace broken test
19:28 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38988/
19:31 Infinoid Coke: Thanks.  Still waiting to hear back from osuosl on ftp perms
19:32 Infinoid Coke: I also don't have a problem with tracking trac ticket activity in here... the actual comments at least (the metadata stuff would probably get very spammy)
19:33 fperrad Infinoid, now, I'm at home, could I help ?
19:33 dalek rakudo: ba0b2be | jnthn++ | src/ (2 files):
19:33 dalek rakudo: Some tweaks to handle has &!foo and has &.foo. Resolves RT#64650 and RT#64270.
19:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​a0b2be42e1fb5c307007cc8fdb3fb57101822c1
19:33 Infinoid fperrad: Sure!  If you still have permission, you can upload the tarball for me :)
19:34 fperrad Infinoid, ok, I try
19:34 Infinoid fperrad++
19:36 Theory joined #parrot
19:36 Coke Infinoid: figured just "open ticket" and "close ticket" would be enough.
19:38 Infinoid I'll see if I can throw together some oneliners with the ticket number, state (or activity) and summary
19:40 fperrad Infinoid, done
19:40 Infinoid Thanks!  I'll update the various webby things and send out the announcements
19:44 Topic for #parrotis now Parrot 1.2.0 released | http://parrot.org/ | 308 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
19:49 Theory joined #parrot
19:51 Infinoid Ok, 1.2.0 has hit the lists, the website, and en.wikipedia.  The es, ja and ru translations of that page could use updating, if any of you speak any of those languages
19:52 Infinoid Heh, http://it.wikipedia.org/wiki/Parrot seems to be saying the latest version is 0.4.10.
19:52 Infinoid (I think.  I don't speak italian.)
19:52 NotFound Mmm... I don't remember if I have a wikipedia account
19:53 Infinoid Use it if you have it, but you don't need one to edit pages
19:53 jonathan http://sk.wikipedia.org/wiki/Parrot doesn't even exist. :-|
19:53 * jonathan ponders changing that
19:53 Infinoid jonathan++
19:53 NotFound Infinoid: I don't like execessive publicty of my IP
19:53 pmichaud jonathan: I decided the new op should be <root_new> instead of <hll_new>, and the hll is part of the key  (more)
19:53 pmichaud jonathan: i.e.    $P0 = root_new ['parrot';'Integer']
19:53 Infinoid NotFound: Fair enough :)
19:53 pmichaud this seems far more consistent with the other opcodes.
19:53 jonathan pmichaud: fairy nuff
19:54 Infinoid they're not hard to create though.
19:54 jonathan Yes.
19:55 pmichaud it also makes it easier to get PCT to dtrt with it.
19:55 pmichaud (because PCT already knows how to handle keys)
19:55 jonathan ;-)
19:55 jonathan works for me
19:55 jonathan I'm currently pondering how to get $.foo(1,2,3) to do the Right Thing.
19:55 pmichaud oh, I already know how to fix that.
19:56 jonathan Ah, what had you got in mind?
19:56 pmichaud first the parser has to be adjusted
19:56 jonathan ah, ok
19:56 NotFound pmichaud: agreed, hll_new looked like it were for the opposite purpose
19:56 pmichaud NotFound: right -- everywhere else that 'hll' appears in an opcode, it always means "the current HLL".
19:56 Infinoid fperrad: Thanks again for the uploading help, fperrad++
19:57 Infinoid Whiteknight: You're up next :)
19:57 pmichaud well, not the parser so much as the grammar has to be adjusted.
19:57 pmichaud but $.foo no longer looks like a variable
19:57 pmichaud (which it shouldn't be anyway)
19:58 jonathan pmichaud: Ah, hwo's std parsing it these days?
19:58 dalek tracwiki: v69 | Infinoid++ | WikiStart
19:58 dalek tracwiki: News item for 1.2.0
19:58 jonathan It sounds like it's a bigger change than I thought though.
19:58 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​WikiStart?version=69&amp;action=diff
19:58 pmichaud it's not huge but also not minor
19:59 jonathan OK, let's leave it until after release.
19:59 pmichaud I think std parses it as part of the <variable> token, but treats it like a methodop
19:59 pmichaud it's a relatively recent change to std
19:59 pmichaud (i.e., within the past two months)
20:00 TimToady phone
20:00 pmichaud TimToady: be there in 2
20:04 allison NotFound: I have a wikipedia account, but I think I'm not allowed to update anything about Parrot since I work on the project
20:04 Whiteknight I'll update it
20:05 Whiteknight At least, the en one
20:05 NotFound allison: Then I think none of us must be allowed.
20:05 Whiteknight you are "allowed", you just have to be careful about the COI and NPOV policies
20:05 Whiteknight and you have to cite anything that sounds too much like a sales pitch
20:06 NotFound The vigilantes of the spanish version are famous to be a lot less tolerant than the en
20:07 darbelo That and the spain vs latin america edit wars.
20:08 Whiteknight How do you say "May" in es?
20:08 darbelo Mayo
20:08 NotFound darbelo: and don't even talk about spanish civil war related ones
20:08 rg infinoid: are you sure the release announcement has hit the website? i don't see it.
20:09 * darbelo doesn't see it either
20:10 allison it's up now
20:10 Whiteknight w00t
20:11 * rg can't confirm that, sorry
20:11 allison I didn't see it at first, but reloaded and it was there
20:11 Whiteknight yeah, PacoLinux just added it
20:11 Whiteknight If the es.wikipedia folk raise a stink about it let me know
20:12 allison oh, wait, it's not there again if I log out
20:12 rg i've shift-reloaded a couple of times already. i must be hitting a cache somewhere that's not under my control
20:12 allison there it is
20:13 Whiteknight http://es.wikipedia.org/w/index.php?title=M​%C3%A1quina_virtual_Parrot&amp;action=purge
20:13 rg ah yes. thanks.
20:13 Whiteknight that link should purge the mediawiki cache
20:13 dalek website: Infinoid++ | Parrot 1.2.0 "Bird Brain" released!
20:13 dalek website: http://www.parrot.org/news/2009/Parrot-1.2.0
20:13 rg now dalek found it too :)
20:13 * Whiteknight out. Talk to you guys later
20:14 * darbelo sees it too.
20:14 darbelo rg: You are alone in the world :)
20:15 rg darbelo: no, i've got it now
20:15 NotFound The translation "un bytecode para regirlos a todos" looks odd to me. The translation of The Lord Of The Ring I've readed use "gobernarlos", not "regirlos"
20:18 darbelo The translation I know is "Un Anillo para gobernarlos a todos" too.
20:20 rg maybe whoever translated the page didn't get the reference?
20:20 NotFound Given that it mentions it explicitly, I doubt X-)
20:20 rg ok :)
20:21 darbelo also "lista de correa de portadores de Perl" is probaly not what you mean.
20:21 NotFound Yeah, but that kind of errors are usual in programming things
20:21 Infinoid What's this about it not being on the website?  (did I miss a site?)
20:22 rg infinoid: it's been fixed (corrected itself?)
20:22 darbelo Infinoid: It was a 'reload an you'll see it' thing.
20:22 NotFound "regirlos" is not wrong, just looks ugly in that context
20:23 Infinoid ok
20:30 allison Coke: I do have a local patch, but it should only be affecting a couple of test files, not the whole lot
20:31 allison fperrad: ping
20:31 fperrad allison, pong
20:32 allison fperrad: could you add my ssh key to the ftp server? I'm happy to add everyone else's
20:33 allison it's a simple 'cat' command
20:35 fperrad allison, have you seen Jerry Gay's email "ssh keys needed"
20:35 allison yes (I asked him to send it)
20:35 allison but, we don't actually have to get osuosl to add the keys
20:35 allison we can add them ourselves
20:36 allison we just need one person with a valid login
20:36 fperrad allison, send me a email with your public key and the recipe
20:37 dalek rakudo: b4f301d | jnthn++ | docs/ChangeLog:
20:37 dalek rakudo: ChangeLog tweaks.
20:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​4f301d0ce3df06edd9ad170954fa316c2b860d3
20:37 allison fperrad: okay, thanks!
20:44 fperrad allison, I see already your dss key : allison@onji
20:44 allison hmmm... I wonder if they added it after my email last night?
20:44 donaldh_ joined #parrot
20:46 fperrad allison, authorized_keys was updated today at 16:07
20:47 allison okay, I just logged in
20:47 allison whoot!
20:57 Infinoid Great, so we shouldn't have that problem next time
20:57 PerlJam What causes stuff to appear as news on www.parrot.org?
20:58 Infinoid its a categorization thing when you post the story
20:58 PerlJam the 1.2.0 announcement doesn't show up under News
20:59 * Infinoid double checks the publishing stuff
20:59 Infinoid PerlJam: It's docs/project/release_manager_guide.pod sections 10(b) and 10(d)
20:59 allison PerlJam: for that it needs to be tagged with both 'News' and 'Release'
21:00 allison Infinoid: ah, I'll add a note on that to the release manager guide.
21:00 Infinoid The 1.1.0 posting is just in News, not Releases
21:00 Infinoid 1.2.0 is the opposite
21:00 * Infinoid fixes
21:01 Infinoid PerlJam: That should do it, try now?
21:01 PerlJam bueno
21:01 jonathan oh joy, seems Parrot doesn't allow a unicode literal as an arguemnt to the concat op.
21:01 jonathan oh, my bad
21:01 jonathan you hae to use double quotes
21:08 dalek parrot: r38989 | allison++ | trunk/docs/project/release_manager_guide.pod:
21:08 dalek parrot: [release] Add a note about ssh keys on the FTP server, and the 'News'
21:08 dalek parrot: category for release announcements.
21:08 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38989/
21:08 NotFound What do you mean by "unicode literal"?
21:09 NotFound utf8 encoded?
21:10 allison NotFound: I'm pretty sure he means a string literal tagged with unicode:
21:11 NotFound That defaults to ut8, if I remember well.
21:23 Whiteknight joined #parrot
21:28 jonathan allison: Yes, that's what I mean.t
21:28 jonathan allison: It's fine, I'd just used single quotes by accident.
21:31 szabgab joined #parrot
21:44 dalek parrot: r38990 | fperrad++ | trunk/tools/install/smoke_languages.pl:
21:44 dalek parrot: [install] fix test of PrimitiveArc
21:44 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38990/
21:46 Infinoid mj41 has an interesting challenge if anyone's looking for an inscrutible GC bug to fix
21:47 Infinoid http://nopaste.snit.ch/16625 (apparently somehow caused/triggered by r38962)
21:48 urkle I'm playing with Parrot on Mac OS X..  I just downloaded the 1.2 release and ran tests... and several (5) of the tests caused segfaults..  What info is needed for a bug report? (and how do I easily identify WHICH tests caused the segfault? )
21:48 NotFound I have the same fail... sometimes, unable to reproduce
21:48 Infinoid NotFound: In the same alarm test?
21:48 NotFound Infinoid: yeah
21:49 Infinoid I suspect a race condition, but I can't reproduce it here (I ran it in a shell loop for half an hour, no failures)
21:49 NotFound I can't even reproduce it in the machine were it happens
21:53 Whiteknight msg allison: Thanks, the ssh ftp login works like a charm
21:53 purl Message for allison stored.
21:54 dalek tracwiki: v93 | fperrad++ | Languages
21:54 dalek tracwiki: Update with Parrot 1.2.0
21:54 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​Languages?version=93&amp;action=diff
21:54 allison Whiteknight: excellent!
21:54 * purl zwooshes
21:54 mj41 Seems like tapir2 (TapTinder client) can reproduce it each time http://tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk
21:54 Whiteknight I'm learnding!
21:54 mj41 This failings was probably similar http://tt.ro.vutbr.cz/report/pr-Par​rot/do?trun-1427=on&amp;trun-1424=o​n&amp;trun-1521=on&amp;trun-1518=on
22:07 NotFound urkle: you can try prove -v t/...whatever says in the final report
22:10 urkle NotFound: Thanks..
22:10 purl thanks is, like, works now :D
22:10 urkle NotFound: is there a way to run a specific sub-test in the test file?
22:11 NotFound urkle: if is a perl test, he mus generate ...._nn files
22:12 bacek joined #parrot
22:12 ruoso joined #parrot
22:13 dalek tracwiki: v94 | fperrad++ | Languages
22:13 dalek tracwiki: Update with Parrot 1.2.0
22:13 dalek tracwiki: https://trac.parrot.org/parrot/wiki/​Languages?version=94&amp;action=diff
22:14 urkle NotFound: ahh.. wait.. it generates the individual PIR/PASM files for each sub:)  so I can just manually run those with parrot..  cool....   I'm going to make sure all of these segfalts are tracked in a bug
22:14 NotFound urkle: yes, that's a way
22:15 urkle I know I ran across a link talking about migrating from RT to Trac..  recall where there is?
22:15 Infinoid mj41: does "./parrot -G t/dynoplibs/myops_7.pir
22:15 Infinoid " run successfully?
22:17 NotFound Infinoid: I also have failures with myops in the amd64 machines I test at daywork
22:18 Infinoid Consistent or random?
22:18 Infinoid I know I rewrote at least one of those alarm tests in the past, to try to avoid races
22:18 mj41 Infinoid: -G is ok
22:18 NotFound Randomly, I've still not found a pattern.
22:18 darbelo NotFound, Infinoid: I jut ran make test now on OpenBSD-current amd64, and I'm seeing both.
22:19 Infinoid mj41: Ok, I suspect it's a GC issue and probably dependent on memory pressure or process memory layout or somesuch.  That means it's not easy to debug :)
22:19 NotFound Unfortunately, I can't spend too much time with parrot on that systems
22:19 Infinoid But if you are seeing it reliably, that certainly helps
22:23 Theory joined #parrot
22:23 afk_coke .
22:25 Coke allison: ping.
22:26 dalek parrot: r38991 | chromatic++ | trunk/src/hash.c:
22:27 dalek parrot: [src] Replaced an unnecessary calloc() with a malloc() and an initialization
22:27 dalek parrot: for the only uninitialized struct member.
22:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38991/
22:27 dalek parrot: r38992 | chromatic++ | trunk/src/pmc/codestring.pmc:
22:27 dalek parrot: [PMC] Delayed a STRING fetch in CodeString's lineof() method until absolutely
22:27 dalek parrot: necessary.
22:27 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38992/
22:29 nopaste "darbelo" at 200.49.154.172 pasted "backtrace of the failure on t/pmc/io_37.pir for OpenBSD-current amd64" (65 lines) at http://nopaste.snit.ch/16626
22:30 dalek parrot: r38993 | chromatic++ | trunk/src/pmc/nci.pmc:
22:30 dalek parrot: [PMC] Avoided some relatively expensive C string conversions and malloc/frees
22:30 dalek parrot: in a hot path in the NCI PMC.
22:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38993/
22:30 dalek parrot: r38994 | chromatic++ | trunk/src/pmc/resizablepmcarray.pmc:
22:30 dalek parrot: [PMC] Improved the resizing logic in the ResizablePMCArray PMC to avoid
22:30 dalek parrot: unnecessary reallocations.
22:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38994/
22:30 dalek parrot: r38995 | chromatic++ | trunk/src/string/charset.c:
22:30 dalek parrot: [string] Tidied some code; no functional changes.
22:30 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38995/
22:31 Infinoid darbelo: Hmm.  can you print obj and arena_base, to make sure both pointers are valid?
22:32 particle1 joined #parrot
22:33 Infinoid It looks like that segfault was from accessing either arena_base->gc_mark_ptr or obj->pmc_ext
22:33 darbelo I just did a realclean and svn up. It's still building.
22:33 Infinoid oki
22:35 darbelo Oh, wait, the .core is still there. Are there any magic incantations I can use on it to help you?
22:35 Infinoid yeah, "print arena_base->gc_mark_ptr" and "print obj->pmc_ext"
22:35 kid51 joined #parrot
22:35 Infinoid See if either of those result in an error message
22:36 darbelo (gdb) print arena_base->gc_mark_ptr
22:36 darbelo $1 = (PMC *) 0x2036a0ae0
22:36 darbelo (gdb) print obj->pmc_ext
22:36 darbelo $2 = (struct PMC_EXT *) 0x1
22:37 dalek parrot: r38996 | jkeenan++ | trunk/lib/Parrot/Docs/Item.pm:
22:37 dalek parrot: Delete unexplained TODO item per http://rt.perl.org/rt3/Tic​ket/Display.html?id=43713.
22:37 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38996/
22:38 Infinoid ok, so the pmc_ext pointer is wrong
22:40 NotFound Maybe some pointer<->integer conversion hardcoded for 32 bits
22:40 dalek parrot: r38997 | jkeenan++ | trunk/lib/Parrot/Docs/Group.pm:
22:40 dalek parrot: Delete unexplained TODO item per http://rt.perl.org/rt3/Tic​ket/Display.html?id=43709.
22:40 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38997/
22:40 Infinoid the caller is marking the context's string registers (S0..Sn)
22:43 darbelo Infinoid: Shouldn't that be harmless?
22:43 dalek parrot: r38998 | jkeenan++ | trunk/lib/Parrot/Docs/File.pm:
22:43 dalek parrot: Applying patch submitted in http://rt.perl.org/rt3/Tic​ket/Display.html?id=43687.  Refactors some code handling abstract section of html docs.
22:43 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38998/
22:44 Infinoid src/gc/mark_sweep.c:359 seems to have been written with the assumption that if pmc_ext is non-NULL, it's a valid pointer
22:44 darbelo Ouch!
22:45 jonathan That doesn't sound like an especially crazy assumption.
22:45 Topic for #parrotis now Parrot 1.2.0 released | http://parrot.org/ | 306 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
22:45 Infinoid right, except we're not feeding it a PMC, we're feeding it a STRING
22:46 Infinoid darbelo: what's your sizeof(UINTVAL)?
22:46 jonathan Ah.
22:46 Infinoid If gdb doesn't understand that, you might be able to find it in include/parrot/config.h... one sec
22:46 Infinoid I think PMC's pmc_ext lines up with STRING's strlen
22:46 Infinoid depending on the sizes of things on x86-64
22:47 darbelo parrot_config --dump | grep intvalsize
22:47 darbelo hugeintvalsize => '8'
22:47 darbelo intvalsize => '8'
22:47 kid51 Infinoid ping
22:47 Infinoid hi kid51
22:47 Infinoid ok, same as me then, and same as pointer size
22:47 kid51 Congratulations on completing the release.  Was that your first?
22:48 Infinoid thanks, yes (and it felt a bit rushed)
22:48 darbelo I *think* INTVAL is guranteed to be 'able to hold a pointer'
22:48 Infinoid I would have preferred a couple of extra weeks to work on trunk/NEWS
22:48 kid51 Can you guide me re reproducing the problem you described in TT #690?
22:49 Infinoid Yeah.  All I did was unpack the tarball, configure and run make fulltest
22:49 Coke we really should be updating news as we go. =-)
22:49 Infinoid kid51: but all you really need is "make manifest_tests"
22:49 kid51 ... which I wrote
22:49 particle1 coke: it can be a question during parrotsketch, perhaps
22:49 Infinoid fulltest runs all the targets on the same make command line, but when those tests are skipped, manifest_tests apparently returns false
22:49 Coke what's to question?
22:49 kid51 So, I should download a tarball from our site?
22:50 particle1 any updates to NEWS this week?
22:50 Coke we can't make people update as they go.
22:50 particle1 friendly reminder form.
22:50 Coke I would find it annoying. =-)
22:50 Infinoid kid51: Yeah.  I was using the 1.2.0 tarball, same one that was uploaded to the site
22:50 Infinoid The same exact set of files worked fine in an svn checkout, so I think it's depending on svn metadata
22:50 kid51 I've never actually used a release tarball.   Any tricks, suggestions, gotchas?
22:50 Infinoid nah, it should Just Work
22:51 Infinoid building and testing is identical to a checkout
22:51 kid51 Yes, it always works in svn checkout
22:52 szabgab joined #parrot
22:53 Infinoid darbelo: So I don't think it should have called mark_special() on that STRING
22:53 Infinoid which probably means a special flag bit was set when it shouldn't have been
22:53 Infinoid but since this is the GC, that could be a fairly deep rabbit hole
22:54 dalek rakudo: 6381427 | jnthn++ | src/ (2 files):
22:54 dalek rakudo: Implement generation of meta-ops for user-defined operators. Resolves RT#65660.
22:54 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​38142748b7a17a68150647ac3a18b64ff1a661e
22:55 Infinoid Coke: Updating NEWS should be a suggested step for branch merges, at the very least
22:55 Infinoid the vast majority of non-branch-merges were minor fixes, but the branch merges tended to be more noteworthy
22:55 NotFound There is no windows developper wanting to navigate the beautiful waters of CreateProcess, CreatePipe and other nice beasts?
22:56 Infinoid NotFound: I went onto MSDN and looked up the API, but I only test on win32, I don't have an editor with nice pretty colors there so I don't do much win32 devel
22:56 Infinoid (Which probably explains why I still haven't fixed the socket warnings there)
22:56 dalek parrot: r38999 | chromatic++ | trunk (3 files):
22:56 dalek parrot: [GC] Changed the n_regs_used member of Parrot_Context from a raw pointer into a
22:56 dalek parrot: four-element array (as it always is).  This allows the context
22:56 dalek parrot: creation/destruction code to avoid expensive malloc()/free() calls to manage
22:56 dalek parrot: fixed-size data that should be part of the context directly.  The result is
22:56 dalek parrot: that the fib.pir benchmark runs 6.84% faster.  Other code with heavy use of PIR
22:56 dalek parrot: function calls will see similar -- or larger -- improvements.
22:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/38999/
22:57 NotFound I have code that can be borrowed from, but is C++ and I haven't touched it for years.
22:58 NotFound To translate it to C, you probaly need lots of if to avoid leaking resources on error conditions.
22:59 Infinoid error unwinding is the only place I regularly use goto
22:59 Infinoid it's *so* much cleaner than enumerating every case with ifs and curlies
22:59 dalek rakudo: 3c425eb | jnthn++ | t/spectest.data:
22:59 dalek rakudo: Add S13-overloading/metaoperators.t to spectest.data.
22:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​c425eb3e8c886e8d1a103049603ebea570d7a78
23:00 NotFound If you want to try: http://blassic.org/bin/blassic-0.10.2.tgz -> fileopen.cpp
23:00 Infinoid maybe this weekend, I'm running out of parrot time for the moment
23:01 NotFound Is GPL code, but is mine, feel free to borrow anything
23:01 Infinoid NotFound++
23:01 Infinoid in the meantime, I can do build tests if you want to knock something together
23:02 NotFound I hate to write code if I can't even compile it.
23:02 Infinoid no worries, I'll work on it sometime in the next few days
23:03 NotFound s/fileopen/filepopen
23:20 donaldh joined #parrot
23:23 dalek parrot: r39000 | jkeenan++ | trunk/t/manifest (5 files):
23:23 dalek parrot: Modify manifest tests to work in release tarballs (by skipping all but one test).  Cf.:  https://trac.parrot.org/parrot/ticket/690.)
23:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/39000/
23:24 kid51 Infinoid:  If you 'svn up' and copy the new files into your release checkout, you should be able to confirm the fix.
23:26 * Infinoid creates a test tarball with "make release" and tries it
23:26 cotto time to see if a kernel update makes all my problems go away
23:27 Infinoid Usually those add new problems at the same time. :)
23:27 Infinoid kid51++ # looks good
23:27 Infinoid Now a "make manifest_tests distro_tests" allows the latter target to run as well
23:28 Infinoid so fulltest should work too
23:28 kid51 Good.  I'll close 690.
23:28 Infinoid Thanks!
23:33 Tene Okay, driving home, and then working on apl
23:34 tetragon joined #parrot
23:35 cotto joined #parrot
23:42 cotto joined #parrot
23:45 ilia joined #parrot
23:47 cotto good enough
23:48 Infinoid there's an extremely large team of kernel coders working to fix bugs, and a (rather smaller but just as effective) team of kernel coders working to add new ones
23:48 Infinoid So at any given time, there's a fairly constant number of bugs
23:49 rg lol. who said that? ;)
23:49 Infinoid so from a certain perspective, you can call it a form of "stability"
23:52 Infinoid sailboat racing &
23:57 darbelo Hmm, ".include foo.pir" isn't working as intended in the abvsence of .pbc files.
23:57 darbelo .include 'test_more.pir'
23:58 darbelo PackFile_unpack: This is not a valid Parrot bytecode file
23:58 darbelo Parrot VM: Can't unpack packfile /home/darbelo/parrot/instdir/lib/1​.2.0-devel/library/Test/More.pir.
23:58 darbelo Unable to append PBC to the current directory

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

Parrot | source cross referenced