|
Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ Set by moderator on 12 April 2008. |
|||
|
00:00
dalek joined
00:11
dalek joined
00:18
dalek joined
00:22
cjfields joined
00:44
Khisanth joined
00:46
dalek joined
00:48
guru joined
00:49
dalek joined
00:56
dalek joined
01:16
gryphon joined
02:09
contingencyplan joined
|
|||
| dalek | Jim Keenan | RFP: Parrot Needs Better Smoke Reports: | 02:11 | |
| link: www.perlfoundation.org/parrot/index...ke_reports | |||
| shorten | dalek's url is at xrl.us/bfeof | ||
|
02:53
particle joined
03:23
Andy joined
03:31
AndyA joined
03:41
tetragon joined
04:28
davidfetter joined
04:34
Ademan joined
04:42
skids joined
04:49
iblechbot joined
04:55
Psyche^ joined
|
|||
| Infinoid | not enough hours in the day. goodnight all | 05:03 | |
|
05:26
iblechbot_ joined
06:11
uniejo joined
06:39
markus joined
07:09
wknight8111 joined,
iblechbot joined
07:38
skids joined
08:04
markus_ joined
08:18
IllvilJa joined
08:23
cosimo joined
08:38
kj joined
09:00
ambs joined
09:01
markus_ joined
09:08
ambs joined
|
|||
| dalek | r26975 | fperrad++ | trunk: | 09:15 | |
| : [RELEASE] | |||
| : update LANGUAGES_STATUS.pod from languages-smoke results | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26975 | |||
|
09:15
Senaka joined
|
|||
| moritz | today is tuesday, right ;) | 09:16 | |
| Senaka | clock | ||
| purl clock | |||
| purl | Senaka: LAX: Tue 2:16am PDT / CHI: Tue 4:16am CDT / NYC: Tue 5:16am EDT / LON: Tue 10:16am BST / BER: Tue 11:16am CEST / IND: Tue 2:46pm IST / TOK: Tue 6:16pm JST / SYD: Tue 7:16pm EST / | ||
| Senaka | Coke: ping | 09:17 | |
| dalek | r26976 | fperrad++ | trunk: | 09:28 | |
| : [RELEASE] | |||
| : update LANGUAGES_STATUS.pod from manual tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26976 | |||
| Senaka | invoke() not implemented in class 'Undef' | ||
| any hints on where to search | |||
| moritz | Senaka: you're calling a method on an undefined value? | ||
| Senaka | moritz: ok | 09:29 | |
| moritz | or perhaps undef as a function pointer? | ||
| just a wild guess, though | |||
| Senaka | moritz: t/pmc/nci.t tests fail | ||
| due to this reason | |||
| is it possible to debug a test? | 09:30 | ||
| moritz: ok this test should load a library and do C calls ain't it? | 09:31 | ||
| what's the library if so? and what the sources in concern? | 09:32 | ||
| any ideas? | |||
| purl burps | |||
| moritz | library_name = 'libnci_test' | ||
| from the source of the test | |||
| (I'm not familiar with it, though) | |||
| Senaka | aha... ok these came with the C++ build | 09:33 | |
| I think we need some extern "C" in place | |||
| moritz | is C++ build supported? or is that one of the design goals? | 09:34 | |
| Senaka | supposed to be supported... as some compilers are C++ | 09:35 | |
| moritz | in the normal build ita doesn't fail | ||
| Senaka | no | ||
| I found the file | |||
| nci_test.c | |||
| it doesn't have the extern "C" parts | 09:36 | ||
| will have them in place | |||
| moritz: do you knw how to run a single set of tests? | 09:39 | ||
| moritz | perl t/pmc/nci.t | ||
| Senaka | cool | ||
| moritz | not all that shines is magic ;-) | 09:40 | |
| Senaka | mortz: done | 09:45 | |
| moritz | Senaka++ | 09:46 | |
| moritz always that that you were some greek or roman philosopher, but I think that was 'Seneka' | 09:47 | ||
| Senaka | :) | ||
| well not bad that got 56 tests to pass | 09:48 | ||
| :) | |||
| more than 1/3 through | |||
|
11:39
Senaka left
11:41
lichtkind joined
|
|||
| Coke yawns | 11:55 | ||
| rotty | who is fperrad? and is (s)he on #parrot? | 11:59 | |
| kj | that's francois perrad, maintainer of lua | ||
| he's not here usually | 12:00 | ||
| *lua on parrot, that is | |||
| rotty | anybody on Win32 who has a little time to spare? | 12:01 | |
| kj | i'm about to go afk, but what's your issue? | ||
| rotty wants to get rid of petite for bootstrapping in favor of chicken scheme | 12:02 | ||
| kj: can you download and install chicken? www.call-with-current-continuation.org/ | 12:03 | ||
| kj | well, like i said, have to go in a minute | 12:04 | |
| rotty | ok. thanks anyway | 12:05 | |
| kj | sorry can't help you right now | ||
| rotty | np | 12:06 | |
|
12:15
Senaka joined
12:22
Senaka left
12:40
rdice joined
12:55
wknight8111 joined
|
|||
| dalek | r26977 | fperrad++ | trunk: | 13:14 | |
| : [PLATFORM] | |||
| : update for mingw gcc3.4.2 | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26977 | |||
|
13:16
TonyC joined
13:17
nopaste joined,
skids joined
13:24
gryphon joined
|
|||
| dalek | r26978 | coke++ | trunk: | 13:28 | |
| : [tcl] | |||
| : Remove (now) unecessary vtable override. Probably obsoleted by improvements | |||
| : to the object system. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26978 | |||
| Coke waits for that commit to complete. | 13:29 | ||
|
13:35
rdice joined
|
|||
| dalek | r26979 | coke++ | trunk: | 13:36 | |
| : [tcl] | |||
| : Remove (now) unecessary vtable overrides. Probably obsoleted by improvements | |||
| : to the object system. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26979 | 13:37 | ||
|
14:03
Andy joined
|
|||
| cognominal | how do I dump the parrot configuration? | 15:09 | |
| Infinoid | lib/Parrot/Config/Generated.pm | 15:10 | |
| Coke | There's a way to get at it from PIR if you need that. | 15:14 | |
| cognominal | no, I just expected that parrot -V dumped it like perl -V does | 15:16 | |
| I don't know if it is reasonnable expectation, though | |||
|
15:23
sjansen joined,
cjfields joined
15:27
DarkWolf84 joined
|
|||
| Coke | I'm out for PS today. $dayjob conflicts. | 15:40 | |
| (report pasted) | 15:44 | ||
| cognominal | coke++ # for the macport | 15:47 | |
| Infinoid | every time Tuesday rolls around, I start wondering if I actually did anything useful | 15:49 | |
|
15:56
ambs joined
|
|||
| Coke | Thankfully, the macport thing hit shortly after the last ps, so I could count it for this week. :| | 16:02 | |
|
16:03
Theory joined
|
|||
| Coke | cognominal: took more perserverance than any technical skill whatsoever. | 16:04 | |
|
16:05
markus__ joined
|
|||
| Infinoid | and some keen insight on the Parrot::Manifest issue | 16:07 | |
| Coke | ENONSEQUITOR? | 16:10 | |
| cognominal | TUR? | 16:11 | |
| Infinoid | oh, RT #52680 was a bizarre piece of fallout from macports | 16:12 | |
| uh, s/52680/52712/ | |||
| my brain is off today. I should stop typing. | |||
| cognominal | about to get the hash() composer function. The hash composer as a syntactical device will be way more difficult | 16:17 | |
| onece the hash() composer done, I will get back on immc.l | 16:22 | ||
| I prefer to add features than to chase marginal errors | 16:23 | ||
|
16:26
davidfetter joined
16:32
particl1 joined
16:36
particle joined
|
|||
| moderator | #parrot Parrot 0.6.1 release happens today | parrotcode.org | 16:38 | |
| particle | hey all. anything i should know about the release before i get things started? | 16:50 | |
| Infinoid | let us know if anything breaks | 16:58 | |
|
16:59
particle joined
|
|||
| moritz | don't break anything ;) | 17:00 | |
| particle | :P | 17:03 | |
| PerlJam | particle: the planets are in good alignment for a release :) | 17:13 | |
| dalek | r26980 | particle++ | trunk: | 17:15 | |
| : [RELEASE] prep for 0.6.1 release | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26980 | |||
| particle | oh, gimme a freakin' break! somebody broke the make release target on windows. | 17:17 | |
| can somebody do a fresh co of r26980, run "make release 0.6.1", and make the tar.gz file available for me? | 17:18 | ||
| Infinoid | one moment | ||
| particle | er... "make release VERSION=0.6.1" | ||
| moritz | doing it now | 17:19 | |
| particle | i'm gonna go for a run, so you've got 30m or so. you could even untar it somewhere else and check it for me | ||
| thanks, folks! | |||
|
17:20
liona29 joined
|
|||
| Infinoid | particle: squawk.glines.org/parrot-0.6.1.tar.gz | 17:22 | |
| moritz | and moritz.faui2k3.org/tmp/parrot-0.6.1.tar.gz once the upload finishes | 17:23 | |
| which should be 2 mintues | |||
| Infinoid | (testing on linux/amd64) | ||
| moritz | and testing on linux/32bit (Pentium M) | 17:24 | |
| particle | testing on win32, and running. Infinoid++ moritz++ | 17:27 | |
| cya in ~30m | 17:28 | ||
| moritz | 11163 OK from 11163 tests (100.00% ok) | ||
| no doing the configure tests | |||
| s/no/now/ | |||
| All tests successful, 12 tests and 3 subtests skipped. | |||
| Infinoid | All tests successful, 22 tests and 573 subtests skipped. | 17:31 | |
| Files=549, Tests=11164, 350 wallclock secs (178.07 cusr + 58.93 csys = 237.00 CPU) | |||
| paco | Parrot 0.6.1 \t r26980 \t15 Apr 2008 17:25 Tue \t-D40 --gc-debug \t4.62 min \t99.99 % ok \t11186: \t11185, \t1, \t252, \t594, \t0 \t« \t» | ||
| Infinoid | (now testing win32/mingw/strawberry) | 17:34 | |
| PerlJam | Infinoid: do you have a system with just strawberry and one with just mingw and another with both? | 17:38 | |
| Infinoid | no, I am using the mingw that was packaged with strawberry | 17:39 | |
| purl | okay, Infinoid. | ||
| Infinoid | purl, I? | ||
| purl | rumour has it Infinoid is using the mingw that was packaged with strawberry | ||
| Infinoid | smart bot. | ||
| purl adjusts her glasses and points at her Ph.D. | |||
| PerlJam | I seem to recall that parrot didn't play well with mingw in some fashion, but I haven't looked in a while (or nailed down what the exact configuration was) | ||
| ambs | purl, I? | 17:40 | |
| purl | well, ambs is Alberto Simoes, one of the organizers of YAPC::EU::2005 and available at mailto:ambs@cpan.org | ||
| PerlJam | maybe it was strawberry+cygwin | ||
| Infinoid | mingw works reasonably well. its cygwin that always seems to be broken | ||
| PerlJam | (both have mingw) | ||
| ah, that was probably it. | |||
| Infinoid | hmm, I think cygwin's gcc is totally different from mingw | ||
| Infinoid <-- mingw32-make -j4 | 17:41 | ||
| paco | NotFound: hace diez minutos ha salido la version, la ha sacado particle, evidentemente solo esta en svn | 17:45 | |
|
17:46
cjfields joined
|
|||
| paco | upp, sorry, this is for oher channel | 17:46 | |
| cognominal | parrot should support any language :) | 17:53 | |
| Infinoid | one problem with languages-test is, I never know which failures are new. Maybe it should save the previous output to a logfile and run "diff -u" on it? | 17:56 | |
| (in a languages-test-diff make rule, for example) | |||
| moritz | Infinoid: pugs' smoke generates a yaml file, and there's a diff utilty for these yaml thingies as well | 17:57 | |
| cognominal | do we have a test library in Parrot? | ||
| moritz | in util/yaml-diff.pl | ||
| Infinoid | interesting | 17:58 | |
| there are a few failures on mingw | |||
| dunno if any are new. | |||
| t/op/arithmetics, t/op/sprintf, t/op/time, t/pmc/complex, t/pmc/float | 18:00 | ||
|
18:02
rblackwe joined
|
|||
| diakopter | Infinoid: those were failing for me on cygwin last week | 18:02 | |
|
18:03
barney joined
|
|||
| Infinoid | suppose I should grab a copy of 0.6.0 and see whether they failed there | 18:03 | |
| diakopter | I mean, they were failing on strawberry for me last week. I never quite got cygwin to smoke. | ||
| Infinoid | oh, ok | 18:04 | |
| diakopter | purl, I? | 18:05 | |
| purl | you are the person currently maintaining svnbotl | ||
| Infinoid | purl, svnbotl? | ||
| purl | svnbotl is a bit labil today, it committed suicide twice today ;) | ||
| diakopter | I am the person currently maintaining dalek | ||
| Infinoid | no, svnbotl is dead. Long live dalek! | ||
| purl | okay, Infinoid. | ||
| diakopter | no, I am the person currently maintaining dalek | 18:06 | |
| purl | okay, diakopter. | ||
| diakopter | brilliant bot | ||
| Infinoid | purl, I? | ||
| purl | i heard Infinoid was using the mingw that was packaged with strawberry | ||
| Infinoid | no, I am Mark Glines <mark@glines.org> | ||
| purl | okay, Infinoid. | ||
| rotty | purl, I? | 18:07 | |
| purl | i don't know, rotty | ||
| rotty | no, I am Andreas Rottmann <a.rottmann@gmx.at> | ||
| particle | update: still running fulltest, going to breakfast, may be a bit late for #parrotsketch & | ||
|
18:15
smashz joined
|
|||
| smash | hello everyone | 18:15 | |
| barney | rotty: Could you make a patch for NEWS, wrt work on Eclectus ? | 18:18 | |
| ambs | smash is alive!!! | 18:20 | |
| smash | ambs: hey | ||
| Infinoid | hello smash, you fantastic person you! | 18:22 | |
| rotty | barney: yep | ||
| barney: why is EclectusVector extending ResizablePMCArray -- Scheme vectors are fixed-size | 18:23 | ||
| (still no word on the license issue... :/) | 18:24 | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "0.6.1-pre "languages-test" failures on linux/amd64" (77 lines) at nopaste.snit.ch/12697 | ||
|
18:25
Senaka joined
|
|||
| barney | rotty: Probably some cut & paste effect. I used to look at the PAST generated for Rakudo. | 18:26 | |
| rotty | hmm, would chicken+riaxpander (or some other syntax-rules provider) be a suitable requirement for bootstrapping eclectus on Windows? There is a binary package of chicken for Windows, but to install any egg (like riaxpander) a C compiler is needed -- but that's required anyway for parrot, so I don't see a problem here... | 18:30 | |
|
18:31
chromatic joined
|
|||
| chromatic | #ps time (sorry, long commute to the office today) | 18:32 | |
| nopaste | "Infinoid" at 96.238.213.50 pasted "0.6.1-pre "make test" failures on mingw" (116 lines) at nopaste.snit.ch/12698 | ||
| chromatic | We have to fix that floating point math sometime... but how? | 18:33 | |
| Infinoid | do we have a spec we can point at? | 18:34 | |
| chromatic | As far as I know, our spec is "0.0 can be negative in Parrot". | 18:35 | |
| The rest is up to the platform. | |||
| Coke | chromatic++ | 18:36 | |
| Infinoid | well, that platform doesn't like it | ||
| chromatic | Yeah, some of the *BSDs do too. | 18:37 | |
| Some of the files in src/platform/math.c, or something like that, do something smart here. | |||
| Not that I'm waving my arms furiously. | |||
| Coke | Infinoid: macport... no, that's a different macport issue. | 18:38 | |
| smash | pmichaud: still interest in adding rakudo to that dumb benchmarking ? | 18:39 | |
| Coke | soz? | 18:40 | |
| pmichaud | smash: yes... I was thinking about writing the p6 versions | ||
| smash | pmichaud: i started that already | ||
| ambs | smash++ # for benchmarks | ||
| smash | pmichaud: but i got stuck, gimme 1 sec | ||
| pmichaud | did you see my note on list about showing results in relative instead of absolute terms? | 18:41 | |
| smash | pmichaud: yeap, didn't have time to get to that yet | ||
| barney | rotty: did you read ' Getting Commit Privileges' in submissions.pod ? | 18:47 | |
| Infinoid | particle: see scrollback for a couple of nopasted failure reports | ||
|
18:49
Theory joined
|
|||
| cotto_work | seen kj | 18:51 | |
| purl | kj was last seen on #parrot 6 hours and 46 minutes ago, saying: sorry can't help you right now | ||
| particle | Infinoid: thanks, looking. i have my own, too. | 18:57 | |
| particle has some alternate core test failures | |||
| chromatic | Which ones? | 18:58 | |
| particle | that's hard to determine, but i'm working on it | ||
| particle hates fulltest | |||
| testr fails: | 19:00 | ||
| t/pmc/eval.t 5 1280 17 5 8-10 12-13 | |||
| t/pmc/orderedhash.t 1 256 28 1 9 | |||
| testS passes todo: | |||
| t/op/debuginfo.t 2 1 8 | |||
| chromatic | What's -r | 19:02 | |
| purl | well, -r is recurse, -u unified, -N ?? or the boot flag to reconfigure solaris /dev and /devices or "remote" for pkg_add or to run parrot with parrot byte code or a double edge sword or for keyboard cripples | ||
| Infinoid | --run-pbc | 19:03 | |
| particle thinks it's time to switch the makefile to use --runcore= | |||
| chromatic | Maybe in a couple of hours. | 19:04 | |
| Isn't that the same as -b? | |||
| Infinoid is dreaming about running the runcore testsuite in parallel, piping the output of each through a perl script that prefixes each line with "runcore=<char>:" | 19:05 | ||
| particle | -b --bounds-checks|--slow-core | ||
| smash | pmichaud: debugging p6 code it's not an easy task :) | ||
| particle | -r --run-pbc | ||
| -R --runcore CORE | |||
| pmichaud | smash: yes, I know. Which part is giving you difficulty at the moment? | 19:06 | |
| chromatic | Which platform, particle? | ||
| particle | msvc. i'll nopaste | ||
| smash | pmichaud: afk 1 sec.. dinner,brb | ||
| particle | smash eats quickly | ||
| ambs | lol | 19:08 | |
| nopaste | "particle" at 205.172.16.72 pasted "parrot 0.6.1 tarball fulltest output with msvc" (5637 lines) at nopaste.snit.ch/12699 | 19:09 | |
| chromatic | Those Eval tests bug me a lot. | 19:12 | |
| particle | you're not alone | 19:13 | |
| chromatic | I'm rebuilding (tried to build with g++, badly) to look at them. | ||
| Everything's fine for me. | 19:14 | ||
| Grr. | |||
| particle | i don't mind letting them fail, honestly. we're not regularly testing the alternate runcores during the month | ||
| so it's hard to debug/fix on release day | |||
| chromatic | Did you 'make realclean'? | ||
| particle | i unpacked the tarball in a new dir | 19:15 | |
| you can use squawk.glines.org/parrot-0.6.1.tar.gz | |||
| chromatic | It'd certainly be nice to figure out where they started to fail. | 19:16 | |
| particle | how 'bout this. i release as-is, then i'll d/l tags/RELEASE_0_6_0 and run testr | ||
| chromatic | Works for me. | 19:17 | |
| smash back | 19:20 | ||
| dalek | r26981 | particle++ | RELEASE_0_6_1: | ||
| : [RELEASE] tagged 0.6.1 from trunk | |||
| rotty | barney: yes, but I don't have done the steps listed there yet (besides the patches thing, probably ;)) | ||
| dalek | diff: www.parrotvm.org/svn/parrot/revision?rev=26981 | ||
| rotty | barney: waht do you think about requiring chicken and a C compiler on Win32? | 19:21 | |
| dalek | r26982 | particle++ | trunk: | ||
| : [docs] we don't use ssl with svn | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26982 | |||
| Infinoid | ./bawk | ||
| particle | IWBNI pause used bitcard or openid | 19:24 | |
| barney | rotty: there is no obligation to support Win32, especially as we want to bootstrap in the future | 19:26 | |
| rotty | barney: I just wondered, since fperrad has checked in a patch that again uses petite on Windows | 19:27 | |
| barney | We could ask fperrad if he is willing to keep on testing Win32, check what is easy for him | ||
| Coke | particle: uh, yes we do. | 19:28 | |
| particle | we do what? | ||
| Coke | (re: ssl/svn) | ||
| particle | that didn't work for me | ||
| Infinoid | it works for me | ||
| the tarball I made from you was from an https: checkout :) | |||
| s/from/for/ | |||
| particle | maybe it was an auth failure | 19:29 | |
| pmichaud | I use https: for all of my checkouts | ||
| particle | ok. i use http | ||
| Coke | the line in that file wasn't an svn co, but a copy. <shrug> it should work either way: I thought that robrt preferred https. | ||
| particle | guess it doesn't matter. | ||
| Coke | (why? Iunno) | ||
| Infinoid | I think svn needs to be built with libneon for https to work | ||
| pmichaud | if you use http:, your password transmits in the clear | ||
| particle | i'll revert, then | 19:30 | |
| dalek | r26983 | bernhard++ | trunk: | 19:31 | |
| : Add E-mail of Franļæ½ois Perrad in CREDITS. | |||
| : (Should be OK, as it's on his website as well) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26983 | |||
| barney used https as well | |||
| Coke is in a perl conversation where someone drops chromatic's name as a "trophy coder'" | |||
| "I know that guy!" | 19:32 | ||
| chromatic | Trophy coder? | ||
| Infinoid | you win a chromatic! | 19:33 | |
| Coke | in context, it was who you'd hire if you wanted the cachet of having a big name perl coder on staff. | ||
| chromatic | But my name is all lowercase. | ||
| Coke | someone mocked the idea of COKE or ROODE as trophy coders, and the guy suggested that since he couldn't get DCONWAY or CHROMATIC.... (apologies on the caps. =-) | 19:34 | |
| so I am a tier two perl celebrity, apparently. | |||
| B-list. | 19:35 | ||
| Infinoid | I don't think I'm even on the list. | ||
| smash | hahahahaha | ||
| purl | LOLCON 5 reached. | ||
| Coke | purl, you funny. | ||
| purl | Coke: sorry... | ||
| smash slaps purl | |||
| purl | o/` Hit me baby, one more time o/` | ||
| smash | pmichaud: can i use "my $i = shift;" in rakudo ? | 19:36 | |
| barney | rotty: I send fperrad a mail, asking about chicken | ||
| rotty | barney: cool, thanks | ||
| chromatic | smash, in preference to signature-declared parameters? | 19:37 | |
| smash | i can use those too | ||
| Infinoid | particle: looking at the tailed daemon logfile, pause didn't like your https: URL | ||
| Infinoid moves it to the http: directory. | |||
| particle | ah. thanks | 19:38 | |
| smash | chromatic: sub foo($i) { ... } ? | ||
| Infinoid | (done) | ||
| particle | i was just gonna complain about that | ||
| pmichaud | smash: no, there's no @_ | ||
| smash: yes, use sub foo($i) { ... } | |||
| that's the perl6-ish way of stating it | |||
| smash nods | |||
| particle: only one 't/codingstd/trailing_space.t' test failing for tags/RELEASE_0_6_1 (on linux x86) | 19:39 | ||
| chromatic | It's Tcl; no one cares. | 19:42 | |
| dalek | r26984 | chromatic++ | trunk: | 19:43 | |
| : [Tcl] Removed trailing space. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26984 | |||
| Coke | bah. I ran the c_* tests on the pmc updates I did. | ||
| chromatic | I enabled some Vim feature that makes tabs and trailing spaces visible. | 19:44 | |
| Infinoid | eclipse has a button for that too. It rules. | ||
| particle | Add a file for PARTICLEFile successfully copied to '/home/ftp/incoming/parrot-0.6.1.tar.gz' | 19:45 | |
| Infinoid | I'm still a couple of days behind on email, but I got to go party at NASA between races, so the long weekend was sooo worth it. | 19:47 | |
| particle | now, for announcements | 19:49 | |
| Infinoid | where can I find the list of milestone tasks? | ||
| particle | perlfoundation.org somewhere | ||
| chromatic | There's a milestones page on the Parrot wiki on TPF site. | 19:50 | |
| Coke | ROADMAP has a link. | 19:51 | |
| dalek | r26985 | particle++ | trunk: | ||
| : [docs] apparently we do use ssl | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26985 | |||
| r26986 | bernhard++ | trunk: | |||
| : #52932: [PATCH] Eclectus: Use SRFI-9 records | 19:52 | ||
| : Courtesy of rotty. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26986 | |||
| Infinoid | www.perlfoundation.org/parrot/index..._dashboard is funny | ||
| shorten | Infinoid's url is at xrl.us/bcyyz | ||
| smash | Infinoid: milestones @ www.perlfoundation.org/parrot/index...milestones | 19:54 | |
| jonathan | sorry sorry sorry...completely forgot about parrotsketch tonight! | 19:55 | |
| dalek | r26987 | bernhard++ | trunk: | 19:56 | |
| : #52934: [PATCH] Eclectus: Support Chicken Scheme | |||
| : Courtesy of rotty. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26987 | |||
| pmichaud | jonathan: it's okay, we just decided to assign you ownership of all outstanding RT tickets :-P | ||
| jonathan | Haven't done much in the last week anyway....just random Rakudo bits. | ||
| Erm... | |||
| smash | pmichaud: @ARGV exists ? | 19:57 | |
| Infinoid | all 316512 of them | ||
| pmichaud | smash: @*ARGS | ||
| Infinoid | smash: thanks | ||
| jonathan | I know our RT queue is big, but... :-) | ||
| Or is that the number of oustanding sentences of Perl 6 synopses that we have to implement in Rakudo? ;-) | |||
| particle++ # release | |||
| smash | pmichaud: cool, thks | 19:58 | |
| Infinoid | so I guess I should talk to the individual milestone assignees about obtaining a subtask or 5 | 19:59 | |
| ambs | pmichaud, why the *, btw? | 20:00 | |
| dalek | r26988 | bernhard++ | trunk: | ||
| : Let svn ignore t/compilers/pct/*.pbc | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26988 | |||
| jonathan | ambs: Globals have a * secondary sigil. | ||
| pmichaud | ambs: * indicates a global var | ||
| $a # local $a | |||
| $*a # global $a | |||
| ambs | ok, thanks :) | ||
| Perl 6 will be a new language :) | 20:01 | ||
| jonathan | $!a # attribute named a :-) | ||
| And many, many more. | |||
| particle | $:)a # happy variable named a | ||
| pmichaud | $?a # compiler-hint variable named 'a' | ||
| $+a # $a in a caller's context (if declared as 'is context') | 20:02 | ||
| etc. | |||
| ambs | argh | ||
| jonathan | particle: They promised never to do tertiary sigils. Thankfully. | ||
| ambs | kill Larry, fast! :) | ||
| particle | They lie. | 20:03 | |
| pmichaud | but can we have multi-char sigils? ;-) | ||
| jonathan | Please don't suggest that on p6l... | ||
| particle | forget dynamic typing, that's so five minutes ago. let's go for dynamic feeling! | ||
| purl | particle, I didn't have anything matching dynamic typing, that's so five minutes ago. let's go for dynamic feeling | ||
| particle | $:(a # this variable doesn't contain what i expect | ||
| diakopter | forget $:(a | 20:04 | |
| purl | diakopter, I didn't have anything matching $:(a | ||
| pmichaud | $:-P # variable that spits upon your code | ||
| jonathan | Thanks to named placeholder params, we actually DO have $:O | ||
| pmichaud | and $:P | 20:05 | |
| Coke | anyone happen to have an md5 checksum of the 0.6.1 release? | ||
| jonathan | I SO want to implement those now. | ||
| pmichaud | or even $:D, @:P | ||
| jonathan | Just so I can blog about them on rakudo.org. | ||
| And use them in lots of example code. | |||
| smash | pmichaud: can i use return in subs ? | ||
| pmichaud | and even $=D | ||
| Coke | >:| | ||
| jonathan | "Perl 6 supprots smiley oriented programming" | ||
| pmichaud | smash: ooo, return doesn't quite work yet. But it does return the last value of the sub | 20:06 | |
| (er, the value of the last statement in the sub) | |||
| smash | pmichaud: that can work | ||
| pmichaud | return is high on my list of things to do next | ||
| particle | sub sing($:O) { ... } | ||
| we can't implement return yet, says allison | 20:07 | ||
|
20:07
cotto_work joined
|
|||
| Coke | por que no? | 20:07 | |
| particle | need some parrot enhancements first to exceptions | ||
| Coke | ... ok. | ||
| pmichaud | I can write one that we then change later, yes? | 20:08 | |
| Coke | I presume that means tcl will have to change how it's implementing it, then. | ||
| (not that there's anything wrong with that.) | |||
| particle | pmichaud: if you can get it working with what we have, yes | ||
| coke: yep, more target practice | |||
| pmichaud | I think there's enough there, as long as throw works | ||
| Coke | pmichaud: I'd be happy to point you at the tcl code for dealing with it. | ||
| smash | not even $i++ !? | 20:09 | |
| pmichaud | $i++ ought to work | ||
| diakopter | Perl 6? | ||
| purl | Perl 6 is the spec, rakudo and pugs are two of the implementations. | ||
| moderator | #parrot Parrot 0.6.1 "Bird of Paradise" Released | parrotcode.org | 20:09 | |
| particle | coke: feel free to update the website | 20:09 | |
| smash | particle++ # release | 20:10 | |
| pmichaud: roger | |||
| Coke | particle: ok, but only if you give me an md5sum of the tarball. =-) | 20:11 | |
| particle | isn't there a way to get parrot to generate one? | ||
| Coke | I use the 'md5sum' binary, typically. but I figured you had the .tgz lying about. | 20:12 | |
| particle | C:\\usr\\local\\parrot\\release>parrot examples\\library\\md5sum.pir ..\\parrot-0.6.1.tar.gz | ||
| 3ae5a5aab989acba8d7be4191986eb67 ..\\parrot-0.6.1.tar.gz | |||
| ambs | particle, that might take about five minutes to parrot to compute O:-) | ||
| particle | took notime | 20:13 | |
| ambs | damn | ||
| >D | |||
| :D | |||
| Coke | excellent. now just have to wait for the tarball on capn. | ||
| ambs | tr/ap/pa/ | 20:14 | |
| rotty | how much time is left before the 0.6.1 release? | 20:17 | |
| Coke | rotty:it's out there. | 20:19 | |
| rotty | oh | ||
| Coke | er, it's been *cut*. it will take some small time to be on cpan. | ||
| Infinoid runs cpan.glines.org's "sync" script by hand | |||
| rotty | well, no eclectus news then | ||
| pmichaud | it can be news for next release :-) | 20:20 | |
| Infinoid | in the meantime, www.glines.org/parrot-0.6.1.tar.gz is the same file, right? | ||
| smash | Infinoid: err.. that file's md5sum is not the particle pasted :-D | 20:22 | |
| s/not the/not the same/ | |||
| particle | Infinoid: yes | ||
| really? | 20:23 | ||
| hrmm | |||
| Infinoid | hmm | ||
| particle | ok, well i'm not sure | ||
| Coke | sanity check on: www.parrotcode.org/news/2008/Parrot-0.6.1.html | ||
| particle | i untarred Infinoid's, then retarred it and ran md5sum | ||
| Coke | (md5 sum) don't assume the parrot version matches 'md5sum'. | ||
| Infinoid | ah, probably different usernames in the resulting tar then | ||
| particle | i'm not sure if Infinoid's url or my file went to cpan | ||
| Coke | I will just download it myself and regen it for the port listing. | 20:24 | |
| smash | purl: nopaste ? | ||
| purl | nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or paste.husk.org/ or poundperl.pastebin.com/ or paste.scsys.co.uk/ or don't bother me while I'm eating | ||
| Coke | particle: do you have a one line blurb about this release you'd like to see on the front page? | ||
| (ala the one for 0.6.0) | |||
| particle | coke: looks good to me | ||
| pmichaud | that should be the blurb... "looks good to me." :-) | 20:25 | |
| nopaste | "smash" at 82.154.73.214 pasted "calculate prime numbers in perl6" (31 lines) at nopaste.snit.ch/12700 | ||
| smash | pmichaud: there it is.. but it's not fair, lacking return | ||
| pmichaud | not fair to rakudo or not fair to the others? | 20:26 | |
| smash | not fair to rakudo | ||
| pmichaud | just put the second part in an else() clause | ||
| ohhhh, I see why | |||
| the others have an implied break | 20:27 | ||
| smash nods | |||
|
20:27
cjfields joined
|
|||
| smash | i'll change the others to have the same behaviour | 20:27 | |
| pmichaud | while ($i < $n && $n % $i) | ||
| smash | hmm | 20:28 | |
| Coke | website updated. will update the /release/devel link once someone tells me that it's hit cpan. | ||
| (yes, this means that if you try to download 0.6.1 right now, it gives you 0.6.0) | |||
| smash | pmichaud: that would mean one more comparision for each cycle in the while statement.. | 20:29 | |
| pmichaud | it's the same number of comparisons overall | ||
| while ($i < $n && $n % $i) { $i++; } | |||
| $res = $i < $n; | 20:30 | ||
| Coke | I am tempted to build the perl6 faux-executable and install it with the latest macport. yay, nay? | ||
| chromatic | Yay. | ||
| Coke | great. now to figure out how to do that. | ||
| pmichaud | for that matter, the $i < $n test isn't really needed if we trust our ints | ||
| smash | wait.. it's givin' the wrong result | 20:33 | |
| nopaste | "pmichaud" at 76.183.97.54 pasted "very short is_prime for rakudo" (5 lines) at nopaste.snit.ch/12701 | ||
| pmichaud | oops, that last line should be | 20:35 | |
| $i == $n | |||
| smash | ok, it's working now | ||
| particle | you only need to check for numbers < sqrt($n), no? | 20:37 | |
| pmichaud | probably... but I'm also trying to remain _somewhat_ faithful to the original benchmark | ||
| if the other benchmarks use sqrt($n), then this one should :-) | |||
| smash | yeap | ||
| no other uses sqrt | |||
| the are dumb and stupid (programs) | 20:38 | ||
| s/the/they/ | |||
| particle thinks it's better to benchmark a smarter program | |||
| ...closer to real-world performance | |||
| ambs | particle, not always, as some languages make it easier to be smarter than others | 20:39 | |
| PerlJam | pm: (just passing through) with the extra punctuation, that looks more like perl 5 than perl 6 :) | ||
| pmichaud | pj: heh | ||
| "I didn't design the language, I just implement it." | |||
| ambs | lol | ||
| pmichaud++ | |||
| PerlJam | particle: what if a particular implementation takes a qhile to compute sqrt($n)? Then you're benchmarking something else entirely. | 20:40 | |
| s/q/w/ | |||
| I think KISS works well :) | |||
| and with that.... I'm gone | 20:41 | ||
| PerlJam & | |||
| particle | then you've got one poorly optimized compiler | ||
| nopaste | "pmichaud" at 76.183.97.54 pasted "faster but still short very short is_prime for rakudo" (6 lines) at nopaste.snit.ch/12702 | 20:42 | |
| pmichaud | bah | ||
| hit 'enter' instead of backspace. oh well. | |||
| afk # gardening | |||
| oh, wait, that one won't work. never mind | 20:43 | ||
| change $i == $n to be $i >= $x | |||
| purl | pmichaud: that doesn't look right | ||
| pmichaud | :-) | ||
| purl: yes, that was my point. | |||
| purl | pmichaud: what? | ||
| ambs | good night | 21:17 | |
| purl | sleep well too | ||
| Infinoid | c_indent.t seems buggy | 21:22 | |
| I applied Senaka's patch from RT #52916, and now its complaining because line 1049 does not have 4 blank lines (which will cause trailing_space.t to fail) | |||
| Coke | c_indent cares about blank lines? | 21:23 | |
| Infinoid | it shouldn't, but something seems to have confused it this time | 21:24 | |
| Coke | did the patch apply cleanly? | ||
| Infinoid | yes, the patch doesn't actually touch line 1049, it just wraps the whole file in an extern "C" {} | ||
| particle | s/lines/spaces/ ?? | ||
| Infinoid | oops, yes. | 21:25 | |
| I'm not really surprised that 'extern "C" {' would bump the indentation... maybe g++ needs a more specific fix for this file | 21:26 | ||
| particle | we can set a coding std that extern C doesn't bump indentation... but i'm not sure that's the right answer | 21:28 | |
| Infinoid | its a pretty weird failure. sounds like library opening fails without extern "C", but I'm not really sure wrapping the file in that is the only way to fix this | 21:30 | |
| Senaka | particle: extern "C" is needed | ||
| well two ways to do that | |||
| curly brace around all | 21:31 | ||
| chromatic | Can we slap "extern C" in the PARROT_API macro for C++ compilers? | ||
| Senaka | or write it per method or something | ||
| chromatic: +1 if it works | |||
| but there is an issue like this | |||
| Infinoid | Senaka: if I had to guess, the symbols exported by that object are subjected to C++-obfuscation, and thus, the caller can't find the symbol names it wants, right? | 21:32 | |
| Senaka | is PARROT_API there for all methods? | ||
| yep | |||
| Infinoid | is it just methods, or variables too? | ||
| Senaka | extern "C" makes it like C | ||
| basically the compiler wont mangle them | |||
| so it'll be built using C linkage | |||
| Infinoid | is it just methods, or variables too? | 21:33 | |
| Senaka | rather C linkage -> ability to link to C | ||
| particle | no, PARROT_API is just for externally visible C subs | ||
| purl | okay, particle. | ||
| Senaka | methods | ||
| chromatic | PARROT_API is on all externally visible symbols. | ||
| particle | not all subs | ||
| smash | pmichaud: don't think rakudo is ready for benchmarking yet :-D | ||
| particle | smash: do the benchmarks include compiletime? | ||
| Senaka | chromatic: OK... where can we prepare the switch? | 21:34 | |
| i'll give it a try | |||
| pmichaud | smash: why not? | ||
| chromatic | See config/gen/config_h/config_h.in | ||
| smash | particle: nope | 21:35 | |
| pmichaud: taking to long :-) | |||
| pmichaud | too long to run? | ||
| or too long to create the benchmarks? | |||
| smash | to run | ||
| pmichaud | it's possible, yes. :-) | ||
| and yes, are the benchmarks including compile time costs? | 21:36 | ||
| for rakudo that ought to be constant w.r.t. input size | |||
| smash | i just run ../../parrot perl6.pbc script.p6 | ||
| Senaka | chromatic: lets hope it works. Building... :) | ||
| pmichaud | smash: have an example? | 21:37 | |
| smash | example ? i'm running that script to calculate prime numbers | ||
| pmichaud | (I don't disagree with you that rakudo might not be ready for benchmarking... still, I'm interested to know the results, even if we don't report them yet :-) | ||
| can I see a copy of the script you're running so I can try it on my machine? | 21:38 | ||
| smash | of course | ||
| but it's pretty much the one we were seeing earlier | |||
| nopaste | "smash" at 82.154.73.214 pasted "calculate prime numbers in perl6" (19 lines) at nopaste.snit.ch/12703 | 21:39 | |
| Senaka | chromatic: nope that fails | 21:40 | |
| #define PARROT_API @sym_import@ extern "C" | 21:41 | ||
| leo | BTW benchmarks - please do _no_ benchmarking w/o an --optimize'd parrot build - thx | ||
| and afk again | |||
| Senaka | any other thoughts? | ||
| infinoid: ping | |||
| Infinoid | Senaka: I'm trying to work out the right set of patches to get my build along to the same point you're at | 21:42 | |
| smash | leo: hiya, thks for the tip | ||
| Senaka | Infinoid: I did mail them | 21:43 | |
| leo | smash: welcome & greetings to .pt | ||
| Infinoid | yeah, finding and applying :) | ||
| pmichaud | leo: is that just adding "--optimize" to Configure.pl ? | ||
| leo | last time it was so, yes | 21:44 | |
| particle | --optimized iirc | ||
| pmichaud | --optimize according to --help | ||
| smash | ok, let me build with optimize too | ||
| leo | unoptimized build has far too many asserts an what else to be useful | 21:45 | |
| ... for benchmarking of course | 21:46 | ||
| smash nods. | |||
| Infinoid | Senaka: which email has the patch for src/builtin.c? | ||
| Senaka | i don't think that needed patching | 21:47 | |
| pmichaud rebuilds parrot, rakudo | |||
| Senaka | infinoid: no patch | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "src/builtin.c build error with g++" (4 lines) at nopaste.snit.ch/12704 | ||
| Infinoid | you didn't see that one? if not, it must be something specific to my system | 21:48 | |
| pmichaud | smash: what's a good test input size for primes? | ||
| leo | another benchmarking hint: turn off any powersaving slowdown features on your OS | ||
| jonathan | leo: You in Vienna these days? | 21:49 | |
| smash | pmichaud: i used something like `seq 10000 10000 90000` but that can take a bit | ||
| leo | yep | ||
| jonathan: hi btw | |||
| jonathan | I'm coming to live in Bratislava for the summer. | ||
| Senaka | infinoid: confirmation, i don't see such | ||
| Infinoid | hmm. | ||
| jonathan | So I'm sure I'll be dropping by Vienna now and then. :-) | ||
| Infinoid | that makes it hard for me to follow along... | ||
| leo | jonathan: I heard of that - see ya at next vienna.pm social soon | 21:50 | |
| Infinoid | I get a similar error in another file: src/debug.c:1517: error: declaration of 'int PDB_unescape(char*)' throws different exceptions | ||
| Senaka | cflags? | ||
| purl | cflags is, like, generated before config.h, but needs it | ||
| jonathan | Aye, I'm sure I'll be coming for those. :-) | ||
| smash | pmichaud: `seq 10000 10000 90000` <-- when running pir/perl, never even finish a 10000 run on rakudo yet | 21:51 | |
| leo | at last social 3 slovakian folks did participate | ||
| pmichaud | smash: I might want to take a look at the generated code then. 1000 run takes 6 seconds on my box | 21:52 | |
| Senaka | Infinoid: what are your CFLAGS? | ||
| leo | or slovakian inhabitants to be more precise ;) | 21:53 | |
| nopaste | "Infinoid" at 96.238.213.50 pasted "CFLAGS" (1 line) at nopaste.snit.ch/12705 | ||
| pmichaud | smash: 2000 run takes 26 seconds on my box | ||
| Infinoid | hmm, let me split that into multiple lines | ||
| smash | pmichaud: let met do 1 run for 2000 here.. 1 sec | ||
| nopaste | "Infinoid" at 96.238.213.50 pasted "CFLAGS" (7 lines) at nopaste.snit.ch/12706 | ||
| Senaka | echo CFLAGS? | 21:54 | |
| what does it show? | |||
| echo $CFALGS i guess | |||
| s/CFALGS/CFLAGS/ | 21:55 | ||
| Infinoid | nothing... its a Makefile variable, not a shell variable | ||
| pmichaud | smash: 3000 --> 68 secs | ||
| particle heads out to enjoy the tropics | |||
| pmichaud | particle: enjoy! | 21:56 | |
| particle++ # release | |||
| Senaka | Infinoid: I have these "-g -E -dD" | ||
| pmichaud | oh, jeepers | ||
| leo too particle++ # release | |||
| pmichaud | every assignment in rakudo is now calling !TYPECHECKEDASSIGN, even if it's not needed | ||
| *that* will certainly slow things down | 21:57 | ||
| smash | pmichaud: 2000, 21.16 seconds | ||
| jonathan | Indeed; need to move that stuff into assign vtable override. | ||
| Senaka wonders whether CFLAGS is the issue | 21:58 | ||
| pmichaud | jonathan: well, even then it's going to eat up a lot of time. Is there a way to compile-time determine that we don't need type-checked assign? | ||
| or is type-checking such that we have to dynamically check every variable, even those that aren't explicitly typed? | |||
| jonathan | For lexicals, yes. | ||
| Well, hmm | |||
| moritz | are the type checks memoized? | ||
| jonathan | Original plan, before the "move to assign" plan, was to just have an "untyped" entry in the block symbol info for that symbol. | 21:59 | |
| And if it was untyped, don't bother emitting the call to type-check it. | 22:00 | ||
| Coke tries to remember how to do a merge. | |||
| jonathan | However, moving it to assign, it's tricker to do that. But the check will boil down to checking if there is a %!properties attribute. | ||
| Or rather, if that attribute has a value. | |||
| If it comes back null, no checking is needed, go and copy. | 22:01 | ||
| What we *really* want are lowercase types, for performance. | |||
| my int $x # maps down to I register | |||
| pmichaud | not really (more) | 22:02 | |
| even if "my int $x" maps to I registers for performance, we still lose it all in autoboxing to the operators | |||
| (more) | |||
| and whether we have 'my int' or not, a simple "my $x" still needs to be reasonably fast. | |||
| jonathan | We needn't autobox to the operators; MMD with signature of int (not in quotes) won't cause that. | 22:03 | |
| pmichaud | does the new mmd proposal support it? ;-) | 22:04 | |
| jonathan | The trick is avoiding doing excessive lexical lookups. | ||
| pmichaud | I don't see a way to avoid the lexical lookups, because of OUTER and CALLER | ||
| jonathan | Oh, there are situations where we *have* to do them, for sure. | ||
| pmichaud | but we don't know when we don't, do we? | ||
| Coke | (I'm glad. this is starting to sound like conversations I had with mdiep on some other HLL. =-) | 22:05 | |
| pmichaud | (maybe if we get real Scalar types we can avoid the extra lexical lookups) | ||
| jonathan | If the variable was declared in the current lexical scope, then we know what PMC register it lives in. | ||
| pmichaud | except if a called sub rebinds it | ||
| jonathan | Sure, across calls we can't do this. | ||
| pmichaud | so when do we not have a call? | 22:06 | |
| jonathan | Rarely. | ||
| pmichaud | exactly | ||
| jonathan | *sigh* | ||
| Optimization. Hard. | 22:07 | ||
| pmichaud | so I don't think avoiding lexical lookups is our answer yet | ||
| (but again, having a real Scalar type might mean we can avoid it :-) | |||
| anyway, PCT is going to have a flag on it that says "it's okay to re-use the PMC register from a previous lookup" | 22:08 | ||
| jonathan | That can still bet re-bound. | ||
| s/bet/be/ | |||
| In a call. | |||
| pmichaud | it can still be re-bound, yes, but then we're rebinding the PMC and not the lexical | ||
| oh, wait, maybe not | 22:09 | ||
| hrm. | |||
| _anyway_ | |||
| jonathan | sub foo { $CALLER::a := ... }; my $a = ...; foo() # after here $a was rebound | ||
| pmichaud | I've thought a bit about optimizations and determined that at-the-moment we don't have a lot of room for them :-( | 22:10 | |
| or I'm just not imaginative enough for them | |||
| jonathan | I've pondered them now and then. I pondered a scope-lifting one at one point (if you have no conflicting lexical names you might be able to flatten things a bit...), so loops needn't result in a call per iteration. | 22:11 | |
| But I haven't got far enough to working out if/when/how it would work. | |||
| pmichaud | and no OUTERs | ||
| jonathan | Right. | ||
| The set of conditoins is *very* specific. | |||
| But on the other hand, might match a lot of code. | |||
| pmichaud | yes, I've thought a bit about that also. We also have to watch the mapping of $_ | ||
| jonathan | Yeah. But I fear that's something that generally needs a review in Rakudo - I'm not convinced it's right, or at least I'm certainly not convinced a lot of what I've done is right. | 22:12 | |
| pmichaud | oh, I know that $_ is wrong | ||
| jonathan | I did some hack for $/. | ||
| pmichaud | it should be a contextual var | ||
| so is $/ | |||
| and $! | |||
| jonathan | OK. That will happily make my $/ hack go away when those are done then. | 22:13 | |
| Any progress on the roadmap for Rakduo as of yet? Not trying to hurry you, just curious. | |||
| pmichaud | I'm wanting to have it for tomorrow-ish | 22:14 | |
| trying to decide if it belongs on the wiki or in the repo | |||
| jonathan | It's hackable/tweakable by interested parties in either, though repo has a bit more control over who can tweak it. | 22:15 | |
| pmichaud | I'm not too worried about controlling it | ||
| jonathan | OK, then it could really be in either. | 22:16 | |
| To me, in the repo makes some sense. There's already a ROADMAP in there now, IIRC. | |||
| pmichaud | well, I was thinking perhaps it belongs in ROADMAP (or, really, is just an updated ROADMAP) | ||
| and perhaps it goes in docs/ | |||
| we'll do repo to begin with, then. | 22:17 | ||
| I prefer editing in vi(m) to SocialText anyway :-) | |||
| for assign, I think that perhaps we should hold off on the assign opcode for a bit, then -- we may need a rethink. I would like to get it so that we aren't generating a bunch of extra calls for untyped assignments | 22:18 | ||
| because that will _really_ slow things down | |||
| jonathan | Yeah, agree. | ||
| The assign approach does make it harder for me to do the opt I had planned on. | 22:19 | ||
| I'll try and get that in shortly. | |||
| pmichaud | I also don't like that Rakudo would use 'assign' where we tend to tell other languages that they'll want to do copy. Parrot's existing 'assign' opcode is really b0rken (in design) afaict | ||
| jonathan | Sure, copy isn't hookable in any cross-language way though. | 22:20 | |
| pmichaud | there's too much overloading and overlap of functionality between 'assign' and 'set' | ||
| set $P0, 5 really should be assign $P0, 5 | |||
| jonathan | Well, assign's default implementation is to call set, IIRC. | ||
| That is, at a vtable level. | 22:21 | ||
| pmichaud | right. Unfortunately the various *array types overload it to mean something else | ||
| rotty | anybody knowing some code that does more complex things in get_string() ? | 22:22 | |
| (PMC code, that is) | |||
| chromatic | Class PMC | ||
| pmichaud | afk for a bit. | 22:24 | |
| rotty | chromatic: was that an answer to my question? | ||
| konobi | pmichaud: www.socialtext.net/open/index.cgi?...screencast | ||
|
22:24
davidfetter joined
|
|||
| smash | particle: just downloaded parrot-0.6.1.tar.gz from cpan | 22:24 | |
| what's with the "unauthorized release" ? | 22:25 | ||
| and what is the correct md5sum on the file !? :-D | |||
| chromatic | Yes, rotty. | ||
|
22:27
Senaka left
|
|||
| Infinoid | footnote on the earlier c++ discussion: g++ 4.2.3 fails but 4.1.2 succeeds, and we're thinking its the fault of one of the patches Gentoo applied to my 4.2.3. | 22:28 | |
| smash | i'm off.. catch you all later | ||
| jonathan | chromatic: For calling optimization: it occurred to me that if the caller and callee have the exact same signature, then they will both end up referencing the same FixedPMCArray constant specifying the signature. And we can detect that case and do something optimal. | ||
| For one, we know that there are no flattening or slurpy args, because they are never going to result in the same signatures. | |||
| chromatic | Exactly. | ||
| jonathan | That could be even cheaper than introspecting the sub. | 22:29 | |
| chromatic | Probably so. | ||
| What do I pass to Configure to build and link with g++? | 22:30 | ||
| jonathan | I'm tempted to stick a counter in my local codebase here to see how often that is the case in, say, the process of compiling actions.pm | ||
| chromatic | Do it. | ||
| My guess is at least 30%. | |||
| Infinoid | chromatic: --cc=g++ --link=g++ | 22:31 | |
| chromatic | Thanks. I'm testing the extern thing. | ||
| pmichaud | from a Perl 6 perspective, it's likely to be moot, though | ||
| well, not completely moot, but moot enough | |||
| chromatic | the signature checking, pmichaud? | ||
| pmichaud | yes | 22:32 | |
| sub foo( $x, $y) { ... } foo(:y(1), :x(2)); | 22:33 | ||
| Infinoid | g++ needs other patches, too. RT #52874 at least, maybe one or two more. | ||
|
22:34
skids joined
|
|||
| jonathan | pmichaud: You'd have to have declared them :$x, :$y for that? | 22:34 | |
| pmichaud | jonathan: no | ||
| from S06, "Required parameters" | 22:35 | ||
| $comparison = numcmp(2,7); | |||
| $comparison = numcmp(x=>2, y=>7); | |||
| $comparison = numcmp(y=>7, x=>2); | |||
| where numcmp is | |||
| sub numcmp ($x, $y) { return $x <=> $y } | |||
|
22:37
Limbic_Region joined
|
|||
| pmichaud | afk, dinner | 22:37 | |
| davidfetter | bon apetit | ||
| jonathan | chromatic: I did: | 22:41 | |
| total_calls++; | |||
| if (src_signature == dest_signature) | |||
| opt_calls++; | |||
| opt_calls is 1527223, total calls is 1555251 | |||
| chromatic | That's over 30%. | ||
| jonathan | It's over 98%. | 22:42 | |
| Now I feel like my test data must be wrong or something. | |||
| :-) | |||
| chromatic | It's not surprising. | ||
| jonathan | I expected it to be a lot more than 30%, but not quite this high. | 22:43 | |
| rotty | chromatic: what file is that? | ||
| purl | i guess file that is getting created is perl6_group.dll ? | ||
| chromatic | rotty, jonathan's talking about src/inter_call.c | ||
| Infinoid | purl, forget file that | ||
| purl | Infinoid: I forgot file that | ||
| rotty | chromatic: no, i meant "Class PMC" | 22:44 | |
| jonathan | rotty: src/pmc/class.pmc | ||
| rotty | jonathan: thanks | 22:45 | |
| jonathan | I was going to sleep, but I now I'll just lay dreaming about optimizatin... | ||
| oh, damm | 22:46 | ||
| total_calls++; | |||
| if (src_signature == dest_signature && !PMC_IS_NULL(src_signature)) | |||
| opt_calls++; | |||
| Gives...0. | |||
| That's odd. | 22:47 | ||
| chromatic | Are you sure these are constants? | 22:49 | |
| Or at least they're singleton constants? | |||
| jonathan | Hang on... | 22:50 | |
| purl | Hang on... is, like, also | ||
| jonathan | OK, what I shoulda done was move it after to call to Parrot_init_arg_indexes_and_sig_pmc | 22:52 | |
| Then we get opt_calls = 363411, which is only 23%. | |||
| chromatic | That seems more sensible. | 22:53 | |
| jonathan | Yeah. | ||
| 98% rang alarm bells. | |||
| OK, that may still be worth optimising. | |||
| chromatic | If we can avoid creating PMCs in that case, so much the better. | 22:55 | |
| pmichaud | I keep wondering if we could improve things by doing something more Capture-like | ||
| although I guess it doesn't help with register args | 22:56 | ||
|
22:58
tetragon joined
|
|||
| Infinoid | sushi & | 22:59 | |
|
23:00
nopaste joined
23:05
cognominal joined
23:20
TonyC joined
|
|||
| jonathan | chromatic: Got a maybe-optimization that makes it through make...smoking now. | 23:28 | |