Parrot 1.1.0 Released | parrot.org/ | 308 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets
Set by moderator on 18 May 2009.
allison jonathan: mmmhmmm... that's what I'm working on 00:01
apparently, certain chunks of code actually depend on having the proxy created in *every* HLL 00:11
jonathan allison: Oh, hmm. 00:12
allison: In Rakudo, or elsewhere?
00:14 donaldh joined
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:15
jonathan allison: Yes, that'd make sense. 00:16
Whiteknight what did mk_language_shell.pl get renamed to? 00:19
create_language.pl?
darbelo I think create_language.pl is a different script. 00:21
jonathan They're different; I think create_language.pl is the newer.
Whiteknight renamed, superceded, whatever. Which should I write about in the book? 00:22
jonathan Whiteknight: I *think* create_language.pl is the one that pm mentioned the last time I heard him talk on PCT. 00:24
(at NPW)
Whiteknight yeah, I think I heard it recently too 00:25
whatever, it's in the book now
whether it's true or not
purl whether it's true or not is irrelevant; what matters is if people believe it.
allison Whiteknight: mk_language_shell.pl still works 00:26
Whiteknight: create_language.pl is just different
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...
allison: If you have a patch that works on the Parrot tests but still has Rakudo issues, let me know.
night 00:29
00:29 rob joined
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?
allison right now, mk_language_shell.pl, because it's more fully featured 00:30
Whiteknight done
allison we'll merge them together at some point
Infinoid Oh, and docs/parrothist.pod has a 4th date format (2009-May-19)
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
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:32
rob neither sock.close() or close sock work 00:33
allison s1n: yes, there's a plan to implement it, sometime in the next year 00:34
Infinoid All right. So how's everyone's "fulltest" looking? Anything we need to skip? 00:43
dalek rcupinepascal: r75 | robin.ge++ | branches/oo-branch/ (3 files):
* added halt builtin
00:44
00:54 eternaleye joined
Infinoid gah, I can't pass fulltest on my machine because of TT #578 00:55
Infinoid tries to hack his machine into a usable state 00:56
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
Whiteknight Infinoid: Except the t/examples/* failures, everything works fine here 01:09
Infinoid Thanks. That's ubuntu/x86-64? 01:10
Whiteknight yes
Ubuntu 9.04 specifically
Infinoid Ubuntu tends to be a little pickier than gentoo, so that means I'll probably be fine here too. Awesome.
Whiteknight viva la bleeding edge
dalek rrot: r38949 | whiteknight++ | trunk/docs/book/ch04_compiler_tools.pod:
[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.
Whiteknight and with that edit, I think I'm out for the night. Ladies, Gentlemen, I bid thee adieu. 01:15
01:23 cognominal joined
allison Infinoid: on ubuntu/x86-32, I get a failure in t/op/trans.t under testj 01:31
Infinoid Okay. Thanks, I wouldn't have seen that as jit is disabled under my platform 01:33
Which test?
purl rumour has it Which test is for that bit of sugar
cotto no, which test is <reply> 01:34
purl okay, cotto.
allison t/op/trans_13.pasm 01:38
apparently something to do with atan, or floating point equality
it's atan, it keeps returning NaN 01:40
01:40 tewk joined
cotto Haven't we solved that problem already? 01:40
I know there's a tt and I'm mostly certain there's a patch. 01:41
allison maybe so
Infinoid What's the TT? I can put it in the TODO message 01:42
allison TT #530
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
but, I can test 01:46
do you have a todo patch?
Infinoid it is disabled by default on x86-64, yes
and yes, I've got a patch ready to commit
tewk I'm here, what is the current release status? I'm ready to work my way through release_manager_guide.pod
allison if you no paste it, I'll try it here
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
Infinoid But you can have the pumpkin back if you really want it. :)
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
allison Infinoid: if you commit the todo, I can just svn up and try it
Infinoid allison: r38951 01:49
01:49 Theory joined
dalek rrot: r38950 | Infinoid++ | trunk/docs/project/release_manager_guide.pod:
[docs] Update the release manager guide.

  * ftp.path is another field in release.json which should be updated.
01:49
rrot: r38951 | Infinoid++ | trunk/t/op/trans.t:
[t] Todo the t/op/trans.t "atan2" test under JIT.
allison Infinoid: t/op/trans.t passes all tests under the jit runcore now 01:50
restarting 'make fulltest'
Infinoid great, thanks
I'm seeing the t/examples/namespace.t failure Whiteknight was talking about earlier
allison Infinoid: ah, I just saw that sweep by on my x86-64 box 01:51
which runcore?
purl well, which runcore is -r?
allison oh, looks like examples_tests
Infinoid other than that, everything looks fine here on linux/x86-64, the only thing I can't really test here is jit 01:52
allison looks like dump_multi is segfaulting 01:54
Infinoid Do you want to try to fix it, or should I just todo it for now? 01:55
Infinoid makes a note to un-todo these things after the release 01:56
allison Infinoid: try r38952. 02:02
dalek rrot: r38952 | allison++ | trunk/examples/namespace/namespace_dump.pir:
[cage] Make the dump smarter about handling multis without a signature.
02:03
Infinoid Result: PASS
allison PMCNULL is a valid return value from get_multisig, so the dumper needs to handle it 02:05
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:08
02:09 rhr joined
allison same on my OS X box 02:10
rerunning fulltest on it now (after updating namespace test) 02:11
t/op/io.t unexpectedly passes on x86-32 02:15
test 4
(which was recently added and todo'd, and does fail on x86-64) 02:16
Infinoid Is that on a particular runcore, or just in general? 02:17
allison Infinoid: it fails as expected in the default runcore 02:29
Infinoid: checking others 02:30
02:36 janus joined 02:37 particle joined 02:38 kid51 joined
allison Infinoid: seems to be pretty much any runcore 02:38
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?
hi kid51, fixing up the last few test failures now
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
allison Infinoid: yes, "open pipe for writing"
Infinoid allison: Thanks. that code looks alpha, to be honest. (Have you seen the implementation? Grep for "/bin/sh" to find it.) 02:42
Any objection to just skipping it?
allison Infinoid: skipping it is good
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?
kid51 Infinoid: are you speaking about tests in general or about the ones I was reporting as part of 'make fulltest' last night? 02:44
Infinoid kid51: I think (and hope) we've fixed those up. More verification of that certainly couldn't hurt 02:45
kid51 489 / 60
purl 8.15
kid51 So the running time of t/benchmarks/benchmark.t has been cut in half on my Linux box. 02:46
Infinoid cotto++ reduced the loop counts to more reasonable values 02:47
dalek rrot: r38953 | Infinoid++ | trunk/t/op/io.t:
[t] Skip testing of opening pipes (executing shell commands) for now, it's alpha and fails inconsistently on various platforms.
02:48
allison Infinoid: 'make fulltest' passes on x86-32 and x86-64 02:50
Infinoid great, thanks 02:51
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:53
allison Infinoid: the passing TODO on x86-32 is gone too, thanks 02:54
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:55
Infinoid Ok, thanks. I ended up being the release manager, so I'm hoping to make the shiniest parrot possible :) 02:56
02:57 tetragon joined
kid51 Smolder still down, I see. 02:59
Infinoid Yep. At least it's consistent 03:00
kid51 'make test' PASS on Linux/i386
nopaste "kid51" at 70.85.31.226 pasted "t/compilers/imcc/syn/regressions.t: all passing or TODO on various cores" (65 lines) at nopaste.snit.ch/16617 03:04
kid51 That was Linux/i386. 03:05
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.
Infinoid you shouldn't get any "TODO passed", either
allison Infinoid: thumbs up! 03:08
purl well, thumbs up is at www.friedmanarchives.com/China/Web/...%20dpi.jpg
kid51 make codetest PASS 03:10
Infinoid: No, on the tests specifically cited above, I got no unexpected passes (if that's what you meant). 03:11
dalek rrot: r38954 | Infinoid++ | trunk (10 files):
[release] Update the necessary bits for the 1.2.0 release.
Infinoid Great! Sounds about as polished as we can get it
kid51 On Darwin/PPC, 'make coretest' PASS (I don't have enough time to run 'make test' there; it's too slow) 03:13
On Darwin/PPC: t/pmc/nci (Wstat: 0 Tests: 70 Failed: 0)
TODO passed: 66, 69-70
... but those have been TODO pass-ing for some time (that JIT thing, IIRC)
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 ...)
Still failing. 03:15
purl hmmm... failing is bad!
Infinoid You want to TODO it, or should I?
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 nopaste.snit.ch/16618
03:17 Andy joined
kid51 You should. I'm not fluent in PIR tests enough to do that quickly. 03:17
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
I've got it covered. thanks, sleep well
kid51 Yes, it is basically unchanged since #479. good night. 03:20
03:20 donaldh joined
dalek rrot: r38955 | Infinoid++ | trunk/t/compilers/pge/pge_examples.t:
[t] TODO pge_examples.t test #2 on Darwin.
03:21
Infinoid cuts a tarball and tests it 03:22
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 :)
I'm guessing I should hold off on the announcement stuff until then?
allison you can get it all together 03:25
but, yeah, can't send out a link to it
what timezone are you in? 03:26
Infinoid I've already got it all together :)
Infinoid is in PST8PDT
allison ah, good, so it's some awful hour
it's *not* some awful hour 03:27
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:28
03:32 japhb_ joined
dalek rrot: r38956 | petdance++ | trunk/src/jit/amd64/jit_defs.c:
changing a 0 to NULL, and shimmed an interp
03:38
rrot: r38957 | petdance++ | trunk/src/list.c:
removed unnecessary return value
03:47
03:48 cotto joined
dalek rrot: r38958 | petdance++ | trunk/src/pmc/sub.pmc:
bunch of localizing and consting
04:10
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:19
dalek rrot: r38959 | Infinoid++ | tags/RELEASE_1_2_0:
tagged r38955 as release 1.2.0
04:23
allison Infinoid: definitely not a good sign
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
Infinoid: excellent (on the tarball)
Infinoid: some of the lingering processes are as old as May 15th 04:26
04:26 Theory joined
Infinoid wow 04:27
I've never had to do a "killall parrot" before.
allison definitely want to leave that test as skipped 04:36
Infinoid Ok, I've sent fperrad an email ping and link to the tarball 04:38
particle allison++ Infinoid++ fperrad++ i hope
particle is bedward 04:39
bacek Infinoid++ allison++ 04:41
Infinoid Anyway, feel free to commit all your buggy stuff to trunk again, everyone
And your nonbuggy stuff too, of course :) 04:42
bacek Will do :)
dalek rrot: r38960 | petdance++ | trunk/src/pmc (3 files):
teeny consting
04:46
rrot: r38961 | Infinoid++ | trunk/src/packfile.c:
[core] mark_1_seg: Marking constant PObjs can't hurt, make sure we do it for all the right types.
04:47
rrot: r38962 | Infinoid++ | trunk/config/gen/config_pm.pm:
[config] Redo r38804, but whitelist some key items.
04:48 mikehh_ joined
dalek rrot: r38963 | petdance++ | trunk/src/pmc/callsignature.pmc:
consted on pointer, and localized a loop var
04:50
rrot: r38964 | petdance++ | trunk/src/pmc (5 files):
lots of consting, and using NULL instead of 0 for pointers
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:53
dalek rrot: r38965 | bacek++ | trunk (11 files):
Merge branch 'tt504_annotations'
04:57
rrot: r38966 | petdance++ | trunk/src/pmc/array.pmc:
consting and proper use of NULL
05:00
rrot: r38967 | petdance++ | trunk (2 files):
Add a PARROT_IGNORABLE_RESULT for pmc_reuse
Infinoid bacek,cotto: So I'm told pmc_pct is the new hotness. Got a TODO list? 05:05
bacek Infinoid: yeah... sorta. Check TODO in compilers/pmcc :) 05:06
I'll write some todo tonight
Infinoid Thanks. The timestamp on that looked a little old 05:07
cotto well, it's definitely new
Infinoid I can work on item #4 tho
cotto cha-ching!
dalek rrot: r38968 | bacek++ | trunk/t/native_pbc (4 files):
Rebuild native PBCs
05:20
kudo: 5e2e2c1 | pmichaud++ | src/ (3 files):
Add qx{}, qqx{}, q:x{}, qq:x{}.
05:25
05:43 flh joined 05:56 eternaleye joined
Infinoid What's trac.parrot.org/parrot/wiki/Parrot...lAppliance all about? 05:57
dalek kudo: 33dd7ac | pmichaud++ | docs/ (2 files):
Some news and announcement updates in preparation for release.
06:00
cotto I'd guess that it's a downloadable VM image that's got some sort of Parrot environment ready to run.
It looks shiny enough, but I'd rather help get the bird in better shape. ;) 06:01
Infinoid, how well do you understand actions (as in PCT actions.pm)? 06:02
dalek rrot: r38969 | allison++ | trunk/lib/Parrot/Docs/POD2HTML.pm:
[cage] Remove code that overly sanitizes C *'s. Thanks to mikehh.
06:06 japhb__ joined
Infinoid cotto: Not well. 06:10
dalek kudo: 0ce0f62 | pmichaud++ | docs/ChangeLog:
Update ChangeLog a bit.
06:11
06:14 particle joined
pmichaud cotto: I know a bit about actions :-) 06:14
cotto Heh. I was just probing for where Infinoid might be able to dive into pmc_pct 06:18
pmichaud ah.
That's good, I'm probably not awake enough to answer any questions about it anyway. :-P
perl6: say 'hello'; # does this still work? 06:19
Guess not.
cotto rakudo: OUTPUT["hello"]
or something like that
pmichaud forgot the newline :-P
moritz should I send in p6eval here? 06:20
polyglotbot OUTPUT[hello␤] 06:21
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
..1275 (src/PCT/HLLCompiler.pir:688)␤called from Sub ...
pmichaud heh
*that* took a long time.
moritz wow
cotto I guess rakudo's really got some speed issues.
pmichaud well, that's also an old version of rakudo. 06:22
(see the backtrace output)
I'm fine with just having an evalbot in #perl6 -- was just curious if one was still here also. 06:23
06:23 chromatic joined
cotto perl6: say 'hi again'; 06:24
pmichaud Is the r38959 the official tagged release? 06:25
dalek rrot: r38970 | allison++ | trunk/docs/pdds/pdd24_events.pod:
[pdd] Update the events PDD to match the actual design and
pmichaud er, r38955, I guess. 06:26
polyglotbot OUTPUT[hi again␤]
06:31 iblechbot joined
moritz ouch, the rakudo is the one from languages/perl6/, it seems 06:33
pmichaud back later # bedtime 06:34
Tene pmichaud: I can resurrect polyglotbot if you ask me to. 06:39
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? ;)
bacek waves to Tene 06:41
Tene Heh. 06:42
For you guys, I might make you do some of the work. :)
I'll try to get at least parrot and rakudo up. 06:43
Wait, feather3 is still dead, isn't it? 06:45
Ah, OK. I'll try to find another host. 06:46
cotto crud. nobody mentioned smolder's downtime at #ps
moritz Tene: no, it's up again 06:47
Tene: that's why polyglotbot is in the channel again...
it's just a *bit* outdated ;-)
Tene ah 06:49
moritz: the outdated part is rakudo... the build script is still trying to fetch it from svn.
moritz: I can give you access to feather3 to fix th ebuild script if you'd like. 06:50
I'm going to sleep soon. 06:51
moritz Tene: I already have access... I'll see if I can find tuits... 06:52
Tene moritz: I'm looking at it now... 06:53
06:55 HG` joined, HG` left, HG` joined
Tene installing git... 06:56
bringing svn up to date from the new repo... 07:08
falling asleep... 07:09
cotto wake up, Tene 07:13
Follow the white rabbit... 07:14
07:17 bsdz joined
bacek offer Tene two pills 07:30
mj41 Hi. r38965 (bacek) broke building "Parrot VM: PANIC: IJPS is an unknown signature type." tt.ro.vutbr.cz/buildstatus/pr-Parrot/rp-trunk 07:37
moritz is that before or after the release?
bacek after 07:38
moritz good.
bacek And it require realclean for rebuild
And this machine exactly same as mine... Strange 07:40
Ah. x86_64...
dalek rrot: r38971 | bacek++ | trunk/src/pmc/packfileconstanttable.pmc:
[cage] Traling whitespaces
07:44
mj41 TapTinder clients do "copy to temp" of not modified local copy every time. So no realcelan required. 07:45
bacek mj41: looking what happened... 07:48
mj41: I hope r38972 will fix it 07:51
dalek rrot: r38972 | bacek++ | trunk/config/gen/call_list/core.in:
Add more NCI signatures. Hope it will fix broken x86_64 builds.
07:53
bacek Hooray. mj41++ 07:54
mj41 Hmm. TapTinder probably shouldn't run "mate test" if build failed :-). tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk seems odd. 07:57
07:59 donaldh joined
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:05
bacek mj41: indeed :) Can we have more boxes with different architectures? Like Darwin/PPC? 08:09
mj41 I think so. I only need to add it manualy to DB :-). tt.ro.vutbr.cz/table/machine and tt.ro.vutbr.cz/table/user But it wasn't tested on another OS. 08:14
And it is on your own risk. I will appreciate any help/interest. :-) 08:18
bacek mj41: can I build different branch on TT? Like tt458_reduce_mmd? 08:24
mj41 Yes and no. There is tt.ro.vutbr.cz/table/machine_job_conf 08:25
And tt.ro.vutbr.cz/table/jobp but it isn't tested yet. 08:26
bacek mj41: looks good. 08:28
purl O_O
bacek purl: forget looks good 08:29
purl bacek: I forgot looks good
bacek afk # going home 08:32
08:52 bacek joined 09:03 riffraff joined
bacek OH HI 09:27
Can someone some tt452_reduce_mmd branch? At r38973
(And run make benchmark_test on it) 09:28
dalek rrot: r38973 | bacek++ | branches/tt452_reduce_mmd/src/pmc/scalar.pmc:
[pmc] Use i_bitwise_shl_int in scalar on integer overflow.
kudo: 34823c9 | masak++ | docs/announce/2009-05:
[docs/announce/2009-05] nitpicked about my home

around. I tried to express this as succinctly-but-still-correct as possible in the announcement. Further edits are appreciated.
09:46
09:50 flw joined 09:51 flw joined 09:53 flw joined
nopaste "bacek" at 114.73.51.181 pasted "Why --gc-debug is so slooooooow?" (18 lines) at nopaste.snit.ch/16619 09:54
09:55 flw joined
jonathan bacek: 'cus I think it does a gc run after every op. 09:56
bacek oh...
jonathan (so unmarked stuff gets swept as early as possible)
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
(make target)
afk # dinner time 10:02
dalek kudo: dcc0fdd | jnthn++ | build/PARROT_REVISION:
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
kudo: 6685755 | jnthn++ | docs/ChangeLog:
Few extras for the ChangeLog.
rrot: r38974 | bacek++ | branches/tt504_annotations:
Branch was merged into trunk. Removing from HEAD
10:21
10:35 particle joined 10:59 particle joined 11:04 particle joined 11:10 particle joined 11:14 bacek joined 11:15 particle joined
Infinoid Good morning all 11:16
moritz oh hai
pancake morn
bacek OH HAI 11:17
jonathan morning
Infinoid hasn't heard back from fperrad about ftp site access 11:18
bacek wave from future 11:19
seen fperrad
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, donaldh joined
dalek rrot: r38975 | NotFound++ | trunk/src/list.c:
[cage] return in a void function
11:21
11:25 particle joined
dalek rrot: r38976 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
[pmc] Don't use MULTI for methods with single variant only.
11:28
rrot: r38977 | bacek++ | branches/tt452_reduce_mmd/src/pmc/bigint.pmc:
[pmc] Rewrite BigInt.bitwise_shr without MULTIs.
rrot: r38978 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Remove useless MULTI Integer.i_add
11:31
rrot: r38979 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Fix Integer.i_add on overflow.
11:34 burmas joined
bacek git svn dcommit is terribly slow... 11:34
dalek rrot: r38980 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Reimplement Integer.add without MULTIs
11:35
11:35 particle joined
Infinoid runs it in the background on its own checkout, and ignores it 11:40
11:40 particle joined
bacek Infinoid: I need your opinion about trac.parrot.org/parrot/changeset/38980/ 11:43
bacek spotted few bugs in Integer.pmc. 11:44
Actually all i_foo(BigInt) are broken :/
Infinoid ok, I'm looking 11:45
11:45 particle joined
bacek Ouch... No single test for in-place math... 11:47
O! Found one. Complex.i_sub... 11:48
11:50 particle joined
Infinoid how are the i_* functions broken? 11:50
Infinoid gets a branch checkout and tests it
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 finance.yahoo.com/currency for the list of supported symbols.
bacek Infinoid: (i_*) they don't update SELF for BigInt variants. 11:53
Infinoid hmm
11:55 particle joined
nopaste "bacek" at 114.73.51.181 pasted "Simple i_mul test case for Infinoid" (11 lines) at nopaste.snit.ch/16620 11:56
bacek i_add already fixed in branch
Infinoid ... wow, primes2.pir runs a *lot* faster in branch. Still waiting for trunk... 11:58
bacek 3 minutes vs 14 seconds on my box :) 11:59
11:59 ruoso joined
Infinoid hmm, your test pir file doesn't run correctly on trunk either 11:59
bacek Yes. 12:00
Infinoid - mul $P0, $P1
+ mul $P0, $P0, $P1
bacek It's not i_mul
12:00 particle joined
Infinoid or $P0 = mul $P0, $P1 :) 12:01
bacek And this one too. Check src/ops/math.ops 12:02
mul $P0, $P1 calls i_mul. It's different from 3-args mul 12:03
Infinoid ah, yes, different vtable
dalek kudo: 6229131 | jnthn++ | src/classes/Object.pir:
Fix typed array and hash attributes so that the type checking is enforced. Resolves RT#64594.
12:04
Infinoid ok, I get it 12:05
12:05 particle joined
Infinoid Integer.i_multiply(BigInt) is busted 12:05
I would expect it to upgrade the pmc inplace, not just call the bigint vtable function directly (risking attr array mismatches) 12:06
Integer.i_multiply(Integer) seems to work fine
bacek It assumes that BigInt will call something like VTABLE_assign at the end. But it doesn't 12:08
Infinoid I was wondering if it expected BigInt to call pmc_reuse 12:09
(which would be insane)
I think it should upgrade SELF and re-call, like your i_add patch does
bacek "MULTI PMC *multiply(String value, PMC *dest)" is ... perfect... 12:10
12:10 particle joined
bacek Various checks like "if ((double)c == cf)"... It's insane. 12:12
bacek cursing day when he decided to start pmc_pct branch!
Infinoid: I'm going to reimplement all maths in Integer using "i_add" style. 12:13
Infinoid it's checking for overflows, but not in a very readable way 12:14
12:15 particle joined
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:15
bacek Erm. I don't afaiu 12:18
12:20 Whiteknight joined, particle joined
Infinoid no, you don't. I was talking about the multiply() method 12:22
Whiteknight Did the release make it out last night?
Infinoid Whiteknight: I have a tarball, but apparently only fperrad has access to the FTP site
bacek Infinoid: ah. ok
Infinoid bacek: One issue I can see with r38980 is that add() won't detect overflows and upgrade to BigInt 12:23
or am I missing something? 12:24
bacek missing
i_add will call i_add_int. i_add_int with do all checks
12:25 particle joined
Infinoid oh, cool 12:25
12:26 kid51 joined
kid51 msg Infinoid I'll try to ping you tonight re TT #690 12:26
purl Message for infinoid stored.
dalek rrot: r38981 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Refactor Integer.(i_)?subtract without MULTIs.
12:27
rrot: r38982 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Rework Integer.(i_)?multiply without MULTIs
12:29 iblechbot joined
Infinoid bacek: this all looks good to me, less duplicated code and will run faster too 12:34
bacek Infinoid: indeed. 12:35
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:37
(though your changes don't affect that) 12:38
bacek yak... t/pmc/multidispatch failed.
Failed test '1+1=3'
Infinoid heh
bacek I prefer to think that test conflicting with TT#452 12:39
because it overrides Integer.add
Infinoid great, another "pir subclass" issue 12:40
bacek It's not "subclass" issue..
check line 60
12:40 rg1 joined
Infinoid yeah, I'm reading it 12:41
bacek 452 exactly about avoiding mmd for core pmcs.
Infinoid right. 12:42
12:44 Theory joined 12:45 fperrad joined
Infinoid after looking at this test, it seems like MMD has some "spooky action at a distance" 12:45
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:46
fperrad: Hi! Did you get my email? 12:48
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
allison: ping
bacek Infinoid: heh. I cheated. 12:51
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?
fperrad Infinoid, have you seen the jerry gay's mail about ssh keys need ? 12:53
dalek rrot: r38983 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Invoke Complex.i_foo instead of handcrafted code in Integer.pmc
12:54
rrot: r38984 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Cheat - register default MULTI for Integer.add
bacek Infinoid: Look! r38984 :) It still fast. And t/pmc/mutlidispatch.t is happy
Infinoid bacek++ 12:55
One of these days, I really need to understand exactly what that MULTI keyword does.
fperrad: No. Is it recent?
Whiteknight how does a person get an SSH key? 12:56
Whiteknight is an encryption n00b
Infinoid It's typically generated locally with the ssh-keygen command
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)
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
which is awesome.
fperrad Infinoid, i send to you a copy of email 12:59
Infinoid thanks!
bacek Don't forget passphrase and ssh-agent
fperrad Infinoid, you must wait few hours, be 13:00
13:01 Coke joined
Coke msg pmichaud trac.parrot.org/parrot/ticket/691 will be of interest to you. :| 13:01
purl Message for pmichaud stored.
fperrad Infinoid, you must wait few hours, because osuosl support works in Pacific timezone
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
Coke Infinoid: you didn't fix the test with --run-pbc
Infinoid Coke: he's around, but seemed happy to hand it off
Coke (oh, nevermind.)
Infinoid: I had worked that patch before you fixed it, and committed it after. 13:03
the --run-pbc version turned out to still be needed.
Coke finds yet another reason why I can't build partcl.
Infinoid sorry, what did I miss? 13:05
dalek rtcl: r346 | coke++ | wiki/ParrotIssues.wiki:
Edited wiki page through web user interface.
13:06
Coke issue #691
ooh. and if I ignore that and just run the PBC directly, I get another.
nopaste "Coke" at 72.228.52.192 pasted "Whee." (6 lines) at 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.
Infinoid ok, so it's trying to load the wrong path 13:08
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?
Coke Infinoid: I don't know what the right answer is, only that the way it is now is wrong. =-) 13:09
AHA. 13:10
for the other issue, it's that we don't install Tcl/Glob.pbc
13:10 particle joined
Coke we only install Tcl/Glob.pir 13:10
Infinoid oh! there were a few of those changes recently 13:11
I think we really need to do a fake installation as part of "make test".
Coke $ parrot tcl.pbc
Unable to open filehandle from path '/home/infinoid/parrot-1.2.0/languages/tcl/library/init.tcl'
... And we're attracting language developers how? =-)
13:12 gryphon joined
Infinoid heh 13:12
Coke I would say "make fulltest", but yes, we need to test it.
13:15 particle joined
dalek rtcl: r347 | coke++ | trunk/runtime/tcllib.pir:
parrot doesn't install the PBC of this library;
13:16
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:18
13:20 particle joined
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?
Coke pmichaud: that's the upshot, yes. 13:21
is there already a ticket for that? =-)
pmichaud but it still works for the build tree?
Coke I don't have the build tree.
I mean, if 'make test' works, it probably works.
pmichaud Oh. We still don't (even attempt to) build Rakudo from installed parrot, so it doesn't affect rakudo much yet :-)
Coke just another reason why you can't build from an installed. =-) 13:22
pmichaud Correct.
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.
(but only on linux, one of the more permissive platforms. =-)
Infinoid The file '/home/infinoid/parrot-1.2.0/languages/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
13:25 particle joined
Infinoid The tarball is in my homedir, if you want to test against that 13:25
but I'm not really sure how else I can help to fix it
Coke Infinoid: that file is in MY directory. 13:28
why a file open would magically try to look starting in the build dir... 13:29
... unless I have it set to check the build dir for something. I'll double check.
13:30 particle joined 13:36 davidfetter joined
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?
ack reports almost 70 references to languages/tcl/... 13:39
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 :)
Coke there. $ parrot tcl.pbc -e "puts {hello world}" 13:41
hello world
so, that's something.
Infinoid cool
dalek rtcl: r348 | coke++ | trunk/runtime/tcllib.pir:
Don't try to find files in the BUILD directory of parrot.
13:42
Coke I can see why OS X has languished, since linux mostly works. 13:44
guess I should have tried on feather earlier. 13:46
dalek rtcl: r349 | coke++ | trunk/config/makefiles/root.in:
don't try to build tclsh anymore
13:47
Coke next step would be to run 'make test', which is a task for another time.
13:48 Jimmy joined
Coke Infinoid: thanks for doing the install on feather. Most progress I've made on partcl since 0.9 13:48
Infinoid No problem. Sorry for forgetting about install-dev 13:51
(since parrot is very much a developer tool, it always seems a bit strange that there'd be a distinction)
Jimmy good evening 13:58
Infinoid hi Jimmy 13:59
Jimmy hello Infinoid
bacek Infinoid: my cheat doesn't work... 14:02
14:07 rakudohudson joined
dalek kudo: f62aa0f | jnthn++ | src/ (2 files):
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
Coke Infinoid: I would have no problem killing "install-dev" and just installing everything. 14:10
that's what the macport bundle is going to do.
Infinoid cool.
I get the reason behind it; it's the same reason there's a jdk and a jre 14:11
but it seems like the kind of thing I wouldn't have added until 2.0 or so
so I keep forgetting it exists 14:12
Coke if only I had a working PDK. =-)
I am excited to get make test running again, if only I could skip $DAYJOB. :| 14:13
14:18 iblechbot joined
pmichaud If I'm in a non-parrot HLL, what's the proper way for me to create a new Integer PMC instance? 14:20
do I have to use: $P0 = get_root_namespace ['parrot';'Integer'] followed by $P1 = new $P0 ? 14:21
dalek rrot: r38985 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Add more MMD registration stubs into Integer.
14:24
rrot: r38986 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Rework Integer.divide methods without MULTIs.
rrot: r38987 | bacek++ | branches/tt452_reduce_mmd/src/pmc/integer.pmc:
[pmc] Integer.cmp and cmp_num are same.
14:27 masak joined
NotFound pmichaud: looks like a sane way to me. 14:31
pmichaud NotFound: there's a followup :-)
14:31 Theory joined
pmichaud If I have my own custom PMC (a dynpmc), how do I create a new instance of that? 14:31
do I have to use...
$P0 = get_root_namespace ['parrot';'MyDynPMC'] followed by $P1 = new $P0 ? 14:32
NotFound pmichaud: I suppose that it must work, but I don't know 14:33
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:34
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)
jonathan bacek: Yeah, but your dynpmcs don't live in the HLL. 14:39
bacek My dynpmcs died waiting for mmd to dispatch call to them :/ 14:40
Coke pmichaud: tcl always just did new 'Integer' 14:49
... but then, I didn't get an Integer, I got my HLL_Map'd version, no doubt. 14:50
oh wait, no, I got Integer. =-)
(that's not an autobox location)
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
(where allison's most recent post is from January 2009)
"For class lookups 'newclass', 'subclass', 'get_class', and 'isa' all 14:57
accept a string name or a PMC. That PMC can currently be a Key, String,
ResizableStringArray, or NameSpace. If it's a namespace, the class is
directly extracted from the namespace. If it's one of the other three,
then it does a namespace lookup (HLL-relative) and extracts the class
from that namespace (if it exists).
bacek: I read the above as meaning "look only in the current HLL", not "look in the current HLL first" 14:58
(for those who want the reference: lists.parrot.org/pipermail/parrot-d...00863.html ) 14:59
Coke I'm sure that "what's intended to work" and "how to do it now" are not the same. =-) 15:02
NotFound But new is not newclass 15:05
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:15
15:17 Whiteknight joined 15:20 Andy joined
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, donaldh joined
sent I have several messages X-) 15:21
Coke mmhehehe 15:27
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:37
Whiteknight that whole system of looking up classes and proxies needs major overhaul 15:38
NotFound It does not search for the proxy, search the pmc and then create a proxy. 15:39
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.
Looks like not. 15:47
allison NotFound: yes, I sent a patch to the list yesterday 15:51
I mean, to the channel
Whiteknight okay, that would be a good thing to cache those
allison nopaste.snit.ch/16616 15:52
it solves the problem of not finding the proxy
but, it also causes several test failures
NotFound To cache what? If it is not supposed to find it here, there is no point in cachin' it.
allison apparently from code that expects to have the proxies cached in every hll 15:53
Whiteknight: proxies are cached
NotFound allison: but we were commenting that lookup by string is not supposed to find things outside the current hll.
Whiteknight okay, that makes me feel better
allison Whiteknight: but they're cached in the namespace object attached to the C PMC 15:54
NotFound: it *shouldn't*, I agree
NotFound allison: the we shouldn't fix the wrong thing,.
allison NotFound: but it currently does, and we have code that depends on it working that way
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
NotFound Much better :) 15:56
allison as far as I can tell, the namespace stored attached to the C PMC is the wrong namespace
Whiteknight wrong in what sense? 15:57
allison in the sense that it's not the same namespace found by the lookup
Whiteknight oh wow
15:58 Whiteknight joined
dalek kudo: 14bba5f | masak++ | docs/announce/2009-05:
[docs/announce/2009-05] added details about rakudobugs
15:58
allison my patch adds a second lookup in whatever namespace is attached to the C PMC 15:59
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:05
16:09 baest joined
pmichaud allison: you saw my message sent to parrot-dev about proxies? 16:09
NotFound Someoon fixed TT #667 and forget to update the ticket? 16:10
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
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
in the current HLL
pmichaud same for custom dynpmcs? 16:13
i.e., we'd have to look up in the parrot namespace to use those?
(or otherwise do some funky namespace mapping)
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
pmichaud allison: it currently is doing that... I'm more interested in whether it should be doing so
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
NotFound Or is just that no one tried?
pmichaud we don't?
currently Perl6Str is declared with "hll Perl6" although that appears to be (silently) ignored
allison pmichaud: they ought to, but AFAIK, they don't currently
NotFound ETOOMUCHSILENTLYIGNORES 16:16
pmichaud okay. I am asking for both "what they do now" and "what they ought to do"
(for planning purposes)
Coke back in the day, you couldn't create a PMC except in root anyway.
pmichaud it's okay if they currently go in 'parrot', I just need to be able to adjust to it.
NotFound Coke: Back in may 2009?
allison looking to see if pmc2c even does anything with the hll attribute
Coke NotFound: "back in the day" == "very long ago." 16:17
back when the .HLL was added.
allison pmichaud: what should happen is every C PMC should live in an HLL appropriate to its language
NotFound Ah, root. Well, change that to 'parrot'
allison root and parrot are equal
(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.
i.e., along with the 'maps' attribute.
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.
allison is "Perl6" the name of the HLL or 'perl6'?
pmichaud we're currently using 'perl6' as the name of the HLL. 16:20
The "Perl6" that Perl6Str uses is more historic (and apparently didn't do anything useful anyway)
allison okay, then can change to be consistent?
pmichaud sure.
NotFound Are HLL names converted to lower case? 16:21
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)
NotFound Looks like the HLL namespace has the name of the HLL converted to lower case.
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:23
nopaste "NotFound" at 213.96.228.50 pasted "HLL namespace silly tests" (57 lines) at nopaste.snit.ch/16622 16:24
allison pmichaud: mainly, I would like to implement that Hash argument to get_class
pmichaud $P0 = new_hll 'parrot', 'Integer' # like this? 16:25
allison pmichaud: aye
pmichaud I wasn't going to worry about the keyed case
$P0 = new_hll 'parrot', ['Integer'] # not this
if we want to add the keyed case, I suppose we could do that. 16:26
...what's the Hash argument to get_class ?
allison if it's just the plain string case, then it can be 'new'
the message you reposted earlier
where you can specify 'hll', 'namespace', and 'name'
as hash keys
and pass that in in place of ['Integer'] 16:27
pmichaud class creation isn't currently an issue for me.
so I'm not really pointing to that.
allison when you call 'new' for a low level type, it's calling get_class
pmichaud sure, but get_class isn't class creation.
allison right, I'm talking about the Hash interface for lookups
pmichaud okay, I'm confused. 16:28
allison as in $P0 = new hash_lookup_arg
pmichaud okay, I'm less confused.
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?
pmichaud because I'd need to build the Hash, for one.
allison and the other case is... maybe two calls 16:30
about the same
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
NotFound The HLL namespace conversion to lower case is a bug, then?
allison NotFound: yes, legacy code
NotFound Can we fix it, or need a deprecation cycle?
allison NotFound: would need a deprecation, since it would break some existing languages 16:32
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
NotFound Urgh. Can we do some in the meantime, like storing an alias?
pmichaud allison: there might be a collision there 16:34
jonathan allison: We already do too much stuff with strings for lookups. :-(
allison when we get it, we can know to perform the lookups in the named HLL instead of the current hll
jonathan: HLL names are just strings
pmichaud jonathan: oh, I'm not too concerned with using strings for HLL names
but we already have a new_p_s_p variant
allison this would be new_s_p 16:35
pmichaud so we might end up with a collision on $P0 = new 'parrot', ['Integer']
allison or new_s_p_s_p
oh, no, the initial p is the return
pmichaud there's already a new_p_s_p
NotFound P = new S, S Isn't it?
allison new_p_s_p woul be $P0 = new 'stringname', init_hash
pmichaud right. 16:36
so you're saying new_p_s_s (and _only_ that)
$P0 = new 'parrot', 'Integer' # okay
$P0 = new 'parrot', ['Integer'] # not what you expect.
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
I mean, we can take the step of new_hll just like we have get_hll_namespace 16:37
16:37 davidfetter joined
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
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.
allison it is 16:39
and swapping out one syntax for something that looks the same but behaves differently is confusing
so, new_hll it is
oh, that should be hll_new, I suppose, so people don't think they're creating an HLL like new_class
pmichaud hll_new ++ 16:40
NotFound BTW, there are still some :: class and namespace separators in the code base. Can we kill them all?
Coke you can't start making ops named consistently NOW. it's unseemly.
pmichaud if we think we're going to require names to be keys, perhaps we should only have hll_new_p_s_p ?
and not hll_new_p_s_s ?
allison NotFound: yes, they can be replaced by ; or separated into keys
Coke NotFound: they were supposed to be killed some time ago. if they're in a stdlib, has to wait to 1.4+
allison pmichaud: +1 16:41
purl 1
allison pmichaud: no need to implement the old
NotFound Coke: I was supposing the same, until last week, were I fixed a lot ot them.
pmichaud and should it be "hllnew" instead of "hll_new"?
Coke NotFound: in trunk?
NotFound Coke: yes
Coke GAH
allison pmichaud: we tend to separate words with spaces in ops, at least in the newer ops 16:42
(with underscores)
NotFound When getting rid of the 'library/' prfixes in load_bytecode
pmichaud allison: fair enough.
Coke NotFound: I thought you were just getting rid of library/ not changing the API.
pmichaud okay, so we'll add hll_new_p_s_p
Coke and now it's in a release. whee.
allison and, we may end up with a collection of hll_* ops
also hll_new_p_s_p_p 16:43
NotFound Coke: that was the intention, but lots of things failed if not fixed.
pmichaud the only one that occurs with any frequency that I've encountered is the need for 'new'
allison (with init hash)
yes, but we shouldn't make it impossibly difficult to pass an init hash
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
Coke allison: do we have yet a policy on how to document breaking our support policy?
(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"
allison pmichaud: ah, yes, I wouldn't add hll variants for those
pmichaud not at the "init hash" one.
Tene i've seen some issues with that 'library/' path prefix...
allison right
(the lovely asynchronous nature of IRC)
pmichaud yes, hll_new_p_s_p_p
no problem. Rakudo will use those.
allison so will Pynie
Tene for example, .include 'dumper.pir' @ no such file or directory 16:45
Coke is the 's' there for the name of the hll?
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.
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?
Tene .include 'library/dumper.pir' # works
pmichaud Coke: yes.
$P0 = hll_new 'parrot', ['Integer']
and
$P0 = hll_new 'parrot', ['AClass'], init_hash
Tene so something broken with the search path if that doesn't work.
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.
Coke NotFound: that's certainly a stupid test, yes.
pmichaud jonathan: yes, I was thinking of that possibility also. 16:46
allison jonathan: no, I want it as a core op
pmichaud allison: we'll dynop it only until we can move it into Parrot.
jonathan allison: plz re-read :-)
Coke but it sounds like you changed something like Data::Dumper to ['Data';'Dumper']. No?
allison oh, I see, for the immediate Rakudo release
yes
pmichaud Since 1.2 released yesterday, we can't rely on the dynop for Rakudo's release tomorrow.
jonathan :-)
NotFound Coke: yes, and all test passed like a charm
jonathan Right. And shipping a Rakudo that performs awfully kinda feels bad.
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.
It's not a problem to do the move.
Coke NotFound: anyone using the library file will be broken when 1.4 is now shipped, though.
allison hmmm... adding the op won't fix Rakudo
pmichaud I think it will.
allison at least, not the PMC proxy lookup problem
pmichaud I think it will.
Coke if they're trying to load 'Data::Dumper' and not ['Data';'Dumper'] ...
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
(because 'new' does a 'get_class')
Coke I would love to see this discussion sumarized on list for discussion before the op is added. =-)
allison a Proxy is supposed to be generated for every C PMC that's used
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']
allison the problem is that it's not finding the cached PMCProxies
pmichaud or even
$P0 = new ['Perl6Scalar']
as a result, every one of those calls to 'new' is generating a new PMCProxy
and not looking up the correct one in the parrot namespace
but if we switch those to be
16:49 gryphon joined
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
pmichaud $P0 = hll_new 'parrot', ['Perl6Scalar'] 16:50
NotFound Coke: my aplogies, then,.
Coke Just like if we renamed a C function that we weren't calling directly from the tests.
pmichaud then the dynop is going to look it up in the correct place
and no additional PMCProxy will get created.
Tene allison: can you confirm that 'dumper.pir' is going to be the preferred path over 'library/dumper.pir'?
Coke NotFound: no one complained on the commits. What can you do.
Tene for load_bytecode?
pmichaud currently the places where we do "get_class" is because we didn't have a way to do hll_new
allison Tene: yes libraries should never prefix 'library/' to the path
dalek kudo: 01ec2a7 | jnthn++ | src/pmc/perl6multisub.pmc:
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
Coke We can use this as an opportunity to decide what the path should be if we ever /have/ to violate our support policy.
(or if we do it again by accident.)
allison pmichaud: for now just make it work
pmichaud allison: no problem. :-)
Tene allison: the former doesn't work.
NotFound BTW, the usage message of dumper.pir is about Data::Dumper, not about himself
Tene Wait, nm. i was using .include
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 ?
s/ly//
nopaste "tene" at 166.70.38.237 pasted ".include path fail for allison++" (3 lines) at nopaste.snit.ch/16623
NotFound I also killed several wrong .include in the library
pmichaud allison: you're going to change get_class to always take a hll argument?
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
allison Coke: do you mean in Tcl?
NotFound afk_coke: uh, wait, looks like Data::Dumper was not between the things already changed
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.
allison (for consistency)
pmichaud I refuse to go that path.
we should identify classes by namespaces.
allison pmichaud, not for class identifiers, for HLL identifiers
pmichaud but Parrot_oo_get_class doesn't currently take a hll argument. 16:55
allison the classname key and hll name are separate
nope, but it should
pmichaud thus my earlier question: "you're going to change get_class to always take a hll argument"?
personally, I prefer that we just pass the namespace to get_class. 16:56
having already obtained it from the correct hll.
allison yes, on the C side, but it could be null
well, that's what we're going to do for now
pmichaud okay.
allison since changing the signature of Parrot_oo_get_class would require a deprecation cycle
pmichaud "just make it work". Got it.
allison aye :) 16:57
Tene: those .includes of 'library/' are just plain wrong
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.
allison Tene: if something is going to be included, it should be stored in the 'runtime/parrot/include'
not stored in 'runtime/parrot/library/'
Tene Ah. You shouldn't be including something in library/
:)
OK
NotFound So how can we deprecate the library classes with :: separator? Having two versions of each during the transition?
pmichaud Using .include on 'library/' is an artifact of very old-designed libraries.
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
NotFound pmichaud: Data, SDL, PostgreSQL, ncurses...
Tene nods.
allison Tene: then we separated them out into two directories, but some legacy code still expects the old way
NotFound ack '::' runtime/ 17:00
pmichaud NotFound: yes, I see, there are quite a few. (more)
Keep in mind that the '::'s that are in the PGE libraries are intentional and should not be removed.
NotFound Well, some '::' are just wrong examples and messages 17:01
pmichaud same for P6object
most of the ::'s that appear there look as though they come from before we really supported segmented namespaces and classnames
i.e., ['SDL::Class'] instead of ['SDL';'Class']
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
it won't be _that_ difficult for others to keep up with the changes.
i.e., we don't really need two versions.
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
many of them were written _long_ before we had anything like PCT
NotFound I think SDL is actually not working
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
allison I'd like to see the ones that aren't "core" moved out as external modules
NotFound At least I was unable to make it work all times I tried.
pmichaud yes, allison says it better.
we should deprecate them from core and make them into external modules or libraries.
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 :-)
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)
NotFound A wiki page?
purl hmmm... a wiki page is nice, but not newbie-friendly
17:08 darbelo joined 17:10 flh joined
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
dalek cnum-dynpmcs: r46 | darbelo++ | trunk/t/rounding_mode.t:
Fix the tests. OpenBSD remains partialy hosed, but now I'm closer to knowing
allison (just looking at the library/ paths)
pmichaud afk # lunch 17:13
allison everything in runtime/parrot/include is currently core
(AFAIK)
afk_coke: I'm looking into the Tcl/Glob.pbc
NotFound message Coke I was wrong, Data::Dumper is still not converted to ['Data';'Dumper'] 17:15
purl Message for coke stored.
allison wow! I just svn up'd Partcl and it's not only successfully building, it's passing most of its tests! 17:22
"198/1314 subtests failed"
Whiteknight that is quite a nice change 17:23
allison D'oh! I just realized what Coke was asking. Tcl/Glob.pbc is in the Parrot repository, not in the Tcl repository. 17:25
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.
afk_coke Yes. =-) 17:44
Coke that's not a tcl-specific glob.
it's just called that for lack of a better name. Feel free to rename it. 17:45
NotFound: whee!
NotFound Coke: you guilty, you put Data;Dumper in my head ;)
Coke it was just an example! =-)
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.
purl Message for allison stored.
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.
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.
purl Message for allison stored.
Coke purl, idiot.
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 flyingpenguinproductions.com/boards/
Coke purl is an idiot?
Whiteknight purl
purl yes, Whiteknight?
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
Coke message allison my original question is, should we be installing the .pbc of library stuff at all, or only .pir?
purl Message for allison stored.
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.
Coke that's a lot of messages
NotFound Coke: I think that the better way for library installs will be to copy the pir files and compile them to pbc. 17:50
Coke so, more like the build dir is now? 17:51
I would expect loading the .pbc would be faster, but have no data to confirm. =-)
NotFound In package installer terms, a post-install task 17:52
Coke: if we keep using load_bytecode '....pir', we'll never know if loading pbc is slow ;-) 17:53
Coke (keep using) I wasn't using it! I only switched to it because that's all I'm given now. =-) 17:55
eh. if we're going to ship them, we might as well build them as we already do.
NotFound Or even if it works. When I dropped the 'library/' prefixes I found some problems.
Coke: if we build them for distribution, we add a platform dependency that might not be required otherwise. 17:56
Coke ... huh? 17:57
NotFound Well, not a dependecy in strict sense if we're able of loading non-native pbc, but...
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.
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.
Coke wait, allison could run "make test" in partcl!?
NotFound: I don't know what those nouns mean here, I guess. 17:59
NotFound Instead, the installer must compile
Coke didn't the installer already compile it when he ran 'make' ?
why does he have to compile them again?
or why shouldn't he use those copies he already built?
-> $DAYJOB
NotFound Maybe I mixing concepts %-) 18:00
18:02 particle1 joined 18:16 bsdz joined, davidfetter joined
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:21
18:23 Theory joined
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:26
Coke: since the install is all in versioned directories, it's okay to go ahead and install the .pbc 18:28
Coke: the pbc installed in the 1.0.0 directories will always be compatible with the 1.0.0 libraries
Whiteknight irclogs? 18:29
purl irclogs is irclog.perlgeek.de/parrot/today or see also: infrared clogs
18:29 japhb joined
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?
pmichaud except that !EXPORT was of course exporting to the global scope; this one should simply make them available via the appropriate hash.
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
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.
Tene .sub :load :init { a = compreg parrot; a.omgexport('foo bar baz lol wtf etc') }
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?
pmichaud the compiler can keep track of them
in a hash or hash of hashes or something like that.
Tene Sure, OK. 18:33
allison pmichaud/Tene: I like that
NotFound allison: I'm not sure if it's still trying to load pbc as pir or pir as pbc
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, NotFound joined
NotFound What happened? 18:34
purl We don't know what happened, so tell everyone nothing happened.
allison NotFound: .pir falls back to .pbc, .pasm falls back to .pbc, and .pbc falls back to first .pir, and then .pasm 18:35
18:51 Theory_ joined 19:01 donaldh left
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
Coke allison: no, when I did load_bytecode "Tcl/Glob.pbc", it barfed most heavily, even though the .pir was present. 19:11
(this was on feather in a recent checkout of partcl running against the installed 1.2.0
said it wasn't a valid bytecode file.
NotFound It fails mainly beacuse the Closure pmc does not exist.
Coke NotFound: once something is todo'd, the message immediately starts to rot. 19:12
pmichaud allison: ping
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
The Closure pmc was dropped some time ago, isn't it?
Coke NotFound: makes sense (in that it explains the bizarre, unexplainable error message. =-) 19:14
I'll open a ticket.
NotFound The other error is that it uses pir_error_output_like, but it ends without error, beacause the exception is catched.
Coke message infiniod - I added a 1.2.0 version on trac for bugreporting. 19:15
purl Sorry, I've never seen infiniod before.
Coke message infinoid - I added a 1.2.0 version on trac for bugreporting.
purl Message for infinoid stored.
NotFound purl: good bot
purl thanks NotFound :)
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:16
Coke ticket opened in #692 19:17
message infinoid - should we add trac tickets to the noise in here? 19:18
purl Message for infinoid stored.
Coke makess 1.2.0 the default version for bugreports.
NotFound Well, not so easily, first I must make sure I don't broke the latin-1 depending tests :D 19:19
19:20 donaldh joined
NotFound By the way, those tests are broken, I can corrupt the file and they still pass 19:20
The characters just get corrupted in both places X-) 19:22
19:23 fperrad joined
dalek kudo: 60f709d | jnthn++ | src/parser/grammar.pg:
Follow a STD.pm addition.
19:27
rrot: r38988 | NotFound++ | trunk/t/pmc/namespace.t:
[test] fix and unTODO a namespace broken test
19:28
Infinoid Coke: Thanks. Still waiting to hear back from osuosl on ftp perms 19:31
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:32
fperrad Infinoid, now, I'm at home, could I help ? 19:33
dalek kudo: ba0b2be | jnthn++ | src/ (2 files):
Some tweaks to handle has &!foo and has &.foo. Resolves RT#64650 and RT#64270.
Infinoid fperrad: Sure! If you still have permission, you can upload the tarball for me :)
fperrad Infinoid, ok, I try 19:34
Infinoid fperrad++
19:36 Theory joined
Coke Infinoid: figured just "open ticket" and "close ticket" would be enough. 19:36
Infinoid I'll see if I can throw together some oneliners with the ticket number, state (or activity) and summary 19:38
fperrad Infinoid, done 19:40
Infinoid Thanks! I'll update the various webby things and send out the announcements
moderator Parrot 1.2.0 released | parrot.org/ | 308 RTs left | Weekly Priority: Apply Patches, Fix Bugs, Close Tickets 19:44
19:49 Theory joined
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:51
Heh, it.wikipedia.org/wiki/Parrot seems to be saying the latest version is 0.4.10. 19:52
(I think. I don't speak italian.)
NotFound Mmm... I don't remember if I have a wikipedia account
Infinoid Use it if you have it, but you don't need one to edit pages 19:53
jonathan sk.wikipedia.org/wiki/Parrot doesn't even exist. :-|
jonathan ponders changing that
Infinoid jonathan++
NotFound Infinoid: I don't like execessive publicty of my IP
pmichaud jonathan: I decided the new op should be <root_new> instead of <hll_new>, and the hll is part of the key (more)
jonathan: i.e. $P0 = root_new ['parrot';'Integer']
Infinoid NotFound: Fair enough :)
pmichaud this seems far more consistent with the other opcodes.
jonathan pmichaud: fairy nuff
Infinoid they're not hard to create though. 19:54
jonathan Yes.
pmichaud it also makes it easier to get PCT to dtrt with it. 19:55
(because PCT already knows how to handle keys)
jonathan ;-)
works for me
I'm currently pondering how to get $.foo(1,2,3) to do the Right Thing.
pmichaud oh, I already know how to fix that.
jonathan Ah, what had you got in mind? 19:56
pmichaud first the parser has to be adjusted
jonathan ah, ok
NotFound pmichaud: agreed, hll_new looked like it were for the opposite purpose
pmichaud NotFound: right -- everywhere else that 'hll' appears in an opcode, it always means "the current HLL".
Infinoid fperrad: Thanks again for the uploading help, fperrad++
Whiteknight: You're up next :) 19:57
pmichaud well, not the parser so much as the grammar has to be adjusted.
but $.foo no longer looks like a variable
(which it shouldn't be anyway)
jonathan pmichaud: Ah, hwo's std parsing it these days? 19:58
dalek tracwiki: v69 | Infinoid++ | WikiStart
tracwiki: News item for 1.2.0
jonathan It sounds like it's a bigger change than I thought though.
dalek tracwiki: trac.parrot.org/parrot/wiki/WikiSt...ction=diff
pmichaud it's not huge but also not minor
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
it's a relatively recent change to std
(i.e., within the past two months)
TimToady phone 20:00
pmichaud TimToady: be there in 2
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
At least, the en one 20:05
NotFound allison: Then I think none of us must be allowed.
Whiteknight you are "allowed", you just have to be careful about the COI and NPOV policies
and you have to cite anything that sounds too much like a sales pitch
NotFound The vigilantes of the spanish version are famous to be a lot less tolerant than the en 20:06
darbelo That and the spain vs latin america edit wars. 20:07
Whiteknight How do you say "May" in es? 20:08
darbelo Mayo
NotFound darbelo: and don't even talk about spanish civil war related ones
rg infinoid: are you sure the release announcement has hit the website? i don't see it.
darbelo doesn't see it either 20:09
allison it's up now 20:10
Whiteknight w00t
rg can't confirm that, sorry 20:11
allison I didn't see it at first, but reloaded and it was there
Whiteknight yeah, PacoLinux just added it
If the es.wikipedia folk raise a stink about it let me know
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
allison there it is
Whiteknight es.wikipedia.org/w/index.php?title=...tion=purge 20:13
rg ah yes. thanks.
Whiteknight that link should purge the mediawiki cache
dalek website: Infinoid++ | Parrot 1.2.0 "Bird Brain" released!
website: www.parrot.org/news/2009/Parrot-1.2.0
rg now dalek found it too :)
Whiteknight out. Talk to you guys later
darbelo sees it too. 20:14
rg: You are alone in the world :)
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"
darbelo The translation I know is "Un Anillo para gobernarlos a todos" too. 20:18
rg maybe whoever translated the page didn't get the reference? 20:20
NotFound Given that it mentions it explicitly, I doubt X-)
rg ok :)
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
Infinoid What's this about it not being on the website? (did I miss a site?)
rg infinoid: it's been fixed (corrected itself?) 20:22
darbelo Infinoid: It was a 'reload an you'll see it' thing.
NotFound "regirlos" is not wrong, just looks ugly in that context
Infinoid ok 20:23
allison Coke: I do have a local patch, but it should only be affecting a couple of test files, not the whole lot 20:30
fperrad: ping 20:31
fperrad allison, pong
allison fperrad: could you add my ssh key to the ftp server? I'm happy to add everyone else's 20:32
it's a simple 'cat' command 20:33
fperrad allison, have you seen Jerry Gay's email "ssh keys needed" 20:35
allison yes (I asked him to send it)
but, we don't actually have to get osuosl to add the keys
we can add them ourselves
we just need one person with a valid login 20:36
fperrad allison, send me a email with your public key and the recipe
dalek kudo: b4f301d | jnthn++ | docs/ChangeLog:
ChangeLog tweaks.
20:37
allison fperrad: okay, thanks!
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
fperrad allison, authorized_keys was updated today at 16:07 20:46
allison okay, I just logged in 20:47
whoot!
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?
Infinoid its a categorization thing when you post the story 20:58
PerlJam the 1.2.0 announcement doesn't show up under News
Infinoid double checks the publishing stuff 20:59
PerlJam: It's docs/project/release_manager_guide.pod sections 10(b) and 10(d)
allison PerlJam: for that it needs to be tagged with both 'News' and 'Release'
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
1.2.0 is the opposite
Infinoid fixes
PerlJam: That should do it, try now? 21:01
PerlJam bueno
jonathan oh joy, seems Parrot doesn't allow a unicode literal as an arguemnt to the concat op.
oh, my bad
you hae to use double quotes
dalek rrot: r38989 | allison++ | trunk/docs/project/release_manager_guide.pod:
[release] Add a note about ssh keys on the FTP server, and the 'News'
21:08
NotFound What do you mean by "unicode literal"?
utf8 encoded? 21:09
allison NotFound: I'm pretty sure he means a string literal tagged with unicode: 21:10
NotFound That defaults to ut8, if I remember well. 21:11
21:23 Whiteknight joined
jonathan allison: Yes, that's what I mean.t 21:28
allison: It's fine, I'd just used single quotes by accident.
21:31 szabgab joined
dalek rrot: r38990 | fperrad++ | trunk/tools/install/smoke_languages.pl:
[install] fix test of PrimitiveArc
21:44
Infinoid mj41 has an interesting challenge if anyone's looking for an inscrutible GC bug to fix 21:46
nopaste.snit.ch/16625 (apparently somehow caused/triggered by r38962) 21:47
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
Infinoid NotFound: In the same alarm test?
NotFound Infinoid: yeah
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
Whiteknight msg allison: Thanks, the ssh ftp login works like a charm 21:53
purl Message for allison stored.
dalek tracwiki: v93 | fperrad++ | Languages 21:54
tracwiki: Update with Parrot 1.2.0
tracwiki: trac.parrot.org/parrot/wiki/Langua...ction=diff
allison Whiteknight: excellent!
purl zwooshes
mj41 Seems like tapir2 (TapTinder client) can reproduce it each time tt.ro.vutbr.cz/report/pr-Parrot/rp-trunk
Whiteknight I'm learnding!
mj41 This failings was probably similar tt.ro.vutbr.cz/report/pr-Parrot/do?...un-1518=on
NotFound urkle: you can try prove -v t/...whatever says in the final report 22:07
urkle NotFound: Thanks.. 22:10
purl thanks is, like, works now :D
urkle NotFound: is there a way to run a specific sub-test in the test file?
NotFound urkle: if is a perl test, he mus generate ...._nn files 22:11
22:12 bacek joined, ruoso joined
dalek tracwiki: v94 | fperrad++ | Languages 22:13
tracwiki: Update with Parrot 1.2.0
tracwiki: trac.parrot.org/parrot/wiki/Langua...ction=diff
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
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
" run successfully?
NotFound Infinoid: I also have failures with myops in the amd64 machines I test at daywork 22:17
Infinoid Consistent or random? 22:18
I know I rewrote at least one of those alarm tests in the past, to try to avoid races
mj41 Infinoid: -G is ok
NotFound Randomly, I've still not found a pattern.
darbelo NotFound, Infinoid: I jut ran make test now on OpenBSD-current amd64, and I'm seeing both.
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
Infinoid But if you are seeing it reliably, that certainly helps
22:23 Theory joined
afk_coke . 22:23
Coke allison: ping. 22:25
dalek rrot: r38991 | chromatic++ | trunk/src/hash.c:
[src] Replaced an unnecessary calloc() with a malloc() and an initialization
22:26
rrot: r38992 | chromatic++ | trunk/src/pmc/codestring.pmc:
[PMC] Delayed a STRING fetch in CodeString's lineof() method until absolutely
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 nopaste.snit.ch/16626 22:29
dalek rrot: r38993 | chromatic++ | trunk/src/pmc/nci.pmc:
[PMC] Avoided some relatively expensive C string conversions and malloc/frees
22:30
rrot: r38994 | chromatic++ | trunk/src/pmc/resizablepmcarray.pmc:
[PMC] Improved the resizing logic in the ResizablePMCArray PMC to avoid
rrot: r38995 | chromatic++ | trunk/src/string/charset.c:
[string] Tidied some code; no functional changes.
Infinoid darbelo: Hmm. can you print obj and arena_base, to make sure both pointers are valid? 22:31
22:32 particle1 joined
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.
Infinoid oki
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
Infinoid See if either of those result in an error message 22:35
darbelo (gdb) print arena_base->gc_mark_ptr 22:36
$1 = (PMC *) 0x2036a0ae0
(gdb) print obj->pmc_ext
$2 = (struct PMC_EXT *) 0x1
dalek rrot: r38996 | jkeenan++ | trunk/lib/Parrot/Docs/Item.pm:
Delete unexplained TODO item per rt.perl.org/rt3/Ticket/Display.html?id=43713.
22:37
Infinoid ok, so the pmc_ext pointer is wrong 22:38
NotFound Maybe some pointer<->integer conversion hardcoded for 32 bits 22:40
dalek rrot: r38997 | jkeenan++ | trunk/lib/Parrot/Docs/Group.pm:
Delete unexplained TODO item per rt.perl.org/rt3/Ticket/Display.html?id=43709.
Infinoid the caller is marking the context's string registers (S0..Sn)
darbelo Infinoid: Shouldn't that be harmless? 22:43
dalek rrot: r38998 | jkeenan++ | trunk/lib/Parrot/Docs/File.pm:
Applying patch submitted in rt.perl.org/rt3/Ticket/Display.html?id=43687. Refactors some code handling abstract section of html docs.
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!
jonathan That doesn't sound like an especially crazy assumption. 22:45
moderator Parrot 1.2.0 released | 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:45
darbelo: what's your sizeof(UINTVAL)? 22:46
jonathan Ah.
Infinoid If gdb doesn't understand that, you might be able to find it in include/parrot/config.h... one sec
I think PMC's pmc_ext lines up with STRING's strlen
depending on the sizes of things on x86-64
darbelo parrot_config --dump | grep intvalsize 22:47
hugeintvalsize => '8'
intvalsize => '8'
kid51 Infinoid ping
Infinoid hi kid51
ok, same as me then, and same as pointer size
kid51 Congratulations on completing the release. Was that your first?
Infinoid thanks, yes (and it felt a bit rushed) 22:48
darbelo I *think* INTVAL is guranteed to be 'able to hold a pointer'
Infinoid I would have preferred a couple of extra weeks to work on trunk/NEWS
kid51 Can you guide me re reproducing the problem you described in TT #690?
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. =-)
Infinoid kid51: but all you really need is "make manifest_tests"
kid51 ... which I wrote
particle1 coke: it can be a question during parrotsketch, perhaps
Infinoid fulltest runs all the targets on the same make command line, but when those tests are skipped, manifest_tests apparently returns false
Coke what's to question?
kid51 So, I should download a tarball from our site?
particle1 any updates to NEWS this week? 22:50
Coke we can't make people update as they go.
particle1 friendly reminder form.
Coke I would find it annoying. =-)
Infinoid kid51: Yeah. I was using the 1.2.0 tarball, same one that was uploaded to the site
The same exact set of files worked fine in an svn checkout, so I think it's depending on svn metadata
kid51 I've never actually used a release tarball. Any tricks, suggestions, gotchas?
Infinoid nah, it should Just Work
building and testing is identical to a checkout 22:51
kid51 Yes, it always works in svn checkout
22:52 szabgab joined
Infinoid darbelo: So I don't think it should have called mark_special() on that STRING 22:53
which probably means a special flag bit was set when it shouldn't have been
but since this is the GC, that could be a fairly deep rabbit hole
dalek kudo: 6381427 | jnthn++ | src/ (2 files):
Implement generation of meta-ops for user-defined operators. Resolves RT#65660.
22:54
Infinoid Coke: Updating NEWS should be a suggested step for branch merges, at the very least 22:55
the vast majority of non-branch-merges were minor fixes, but the branch merges tended to be more noteworthy
NotFound There is no windows developper wanting to navigate the beautiful waters of CreateProcess, CreatePipe and other nice beasts?
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
(Which probably explains why I still haven't fixed the socket warnings there)
dalek rrot: r38999 | chromatic++ | trunk (3 files):
[GC] Changed the n_regs_used member of Parrot_Context from a raw pointer into a

creation/destruction code to avoid expensive malloc()/free() calls to manage fixed-size data that should be part of the context directly. The result is that the fib.pir benchmark runs 6.84% faster. Other code with heavy use of PIR function calls will see similar -- or larger -- improvements.
NotFound I have code that can be borrowed from, but is C++ and I haven't touched it for years. 22:57
To translate it to C, you probaly need lots of if to avoid leaking resources on error conditions. 22:58
Infinoid error unwinding is the only place I regularly use goto 22:59
it's *so* much cleaner than enumerating every case with ifs and curlies
dalek kudo: 3c425eb | jnthn++ | t/spectest.data:
Add S13-overloading/metaoperators.t to spectest.data.
NotFound If you want to try: 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
NotFound Is GPL code, but is mine, feel free to borrow anything 23:01
Infinoid NotFound++
in the meantime, I can do build tests if you want to knock something together
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
NotFound s/fileopen/filepopen 23:03
23:20 donaldh joined
dalek rrot: r39000 | jkeenan++ | trunk/t/manifest (5 files):
Modify manifest tests to work in release tarballs (by skipping all but one test). Cf.: trac.parrot.org/parrot/ticket/690.)
23:23
kid51 Infinoid: If you 'svn up' and copy the new files into your release checkout, you should be able to confirm the fix. 23:24
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
Infinoid Usually those add new problems at the same time. :) 23:27
kid51++ # looks good
Now a "make manifest_tests distro_tests" allows the latter target to run as well
so fulltest should work too 23:28
kid51 Good. I'll close 690.
Infinoid Thanks!
Tene Okay, driving home, and then working on apl 23:33
23:34 tetragon joined 23:35 cotto joined 23:42 cotto joined 23:45 ilia joined
cotto good enough 23:47
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
So at any given time, there's a fairly constant number of bugs
rg lol. who said that? ;) 23:49
Infinoid so from a certain perspective, you can call it a form of "stability"
sailboat racing & 23:52
darbelo Hmm, ".include foo.pir" isn't working as intended in the abvsence of .pbc files. 23:57
.include 'test_more.pir'
PackFile_unpack: This is not a valid Parrot bytecode file 23:58
Parrot VM: Can't unpack packfile /home/darbelo/parrot/instdir/lib/1.2.0-devel/library/Test/More.pir.
Unable to append PBC to the current directory