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