Camelia, the Perl 6 bug

IRC log for #parrot, 2009-01-21

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 Rahly well well well, a working 64-bit parrot, nice
00:09 AndyA joined #parrot
00:13 particle1 joined #parrot
00:19 cotto Coke, late pong
00:20 cotto working on a tcl fix...
00:22 cotto now all tests are failing because Parrot can't find tcl's PMCs
00:26 dalek r35847 | chromatic++ | trunk/src:
00:26 dalek : [GC] Worked around an intermitted GC bug where contents of STRING registers
00:26 dalek : sometimes have the "Hey, I'm a PMC!" flag set.  Hilarity ensues, in the form of
00:26 dalek : crashy crashy.  I don't know the cause yet, but this should clear up
00:26 dalek : once-in-a-while crashes in pobject_lives.
00:26 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35847
00:30 chromatic Coke, I can't reproduce #193.
00:33 chromatic However, memcpy sometimes Does The Wrong Thing, so let's try memmove.
00:37 Whiteknight chromatic, that's very reminiscent of errors I was receiving over the sumer
00:37 Whiteknight and also over the summer
00:37 cotto nm. tcl works now
00:40 chromatic Yeah, change that to a PARROT_ASSERT(!PObj_is_PMC_TEST(obj)) and splat.
00:41 chromatic No time to debug that before the release though.
00:41 Whiteknight we'll put it in the queue for the next cycle
00:42 chromatic It's really hard to find that in GDB, because the affected STRING keeps moving around.
00:42 Whiteknight i don't doubt it
00:42 donaldh joined #parrot
00:43 chromatic I added some asserts to new_string_header, but all of the flags are right there.
00:43 Whiteknight so somebody is setting a PMC value into a string register
00:43 chromatic No.
00:44 chromatic Something's setting the PObj_is_PMC_FLAG on a STRING.
00:44 Whiteknight So they're twiddling the flags on a string register to look like a PMC?
00:44 Whiteknight urg
00:44 chromatic Probably inadvertently.
00:44 Whiteknight you know what, it's probably done somewhere on purpose
00:44 Whiteknight with a /* XXX THIS IS A BAD HACK */ comment
00:44 chromatic I doubt it.
00:44 chromatic It's so ephemeral.
00:44 chromatic One run may have it and another won't.
00:45 Whiteknight was that causing segfaults to happen?
00:45 Whiteknight because that would explain some intermittent segfaults I have been seeing on occasion
00:45 chromatic Yep, that's the one.
00:46 Whiteknight you have no idea how much coding time this week I've wasted because a test would segfault, and then I'd have to rerun all the tests to make sure it wasn't me
00:46 chromatic I have a pretty good idea....
00:46 chromatic I was thrilled when I caught it.
00:46 chromatic I wish I could have *fixed* it, but the workaround isn't awful.
00:46 chromatic And now you have something to work on tonight!
00:47 Whiteknight so if you're right, we should probably be able to ack PObj_is_PMC_SET(), and go through the list of results to verify behavior
00:47 Whiteknight it's slow, but thorough
00:48 dalek r35848 | chromatic++ | trunk/src/io:
00:48 dalek : [IO] Changed some memcpy() calls to memmove(), as the latter is more robust if
00:48 dalek : memory regions can possibly overlap.  Why doesn't the C standard provide a
00:48 dalek : single function which always does the right thing and can possibly optimize if
00:48 dalek : it knows it's safe?  Dunno.
00:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35848
00:48 chromatic Assuming that's what it is and not something accidentally scribbling over The Wrong Piece Of Memory Altogether.
00:48 chromatic My fear is that's what happens, because it's an intermittent failure.
00:49 Whiteknight so like a gc bug reallocating a string as a PMC?
00:49 chromatic Although ./parrot -S -D40 t/library/protoobject_8.pir triggered it for me.
00:49 chromatic I tend not to think that.
00:49 Whiteknight I'm just trying to figure out how it would get scribbled over
00:50 chromatic It's C.
00:50 chromatic These things happen.
00:56 Whiteknight ha, that's what I used to say about verilog
00:57 Whiteknight non-sequential, non-deterministic craziness
01:01 cotto Is there a nice way to avoid the steps, configure and postconfigure tests when running make test?
01:03 chromatic make coretest?
01:03 cotto chromatic++
01:07 dalek r35849 | chromatic++ | trunk/config (2 files):
01:07 dalek : [install] Added linker magic so that installable binaries get the correct rpath
01:07 dalek : to work with the installed libparrot (Andy Dougherty).
01:07 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35849
01:08 chromatic That'll need a bit of testing.
01:13 rg cool. works for me on freebsd.
01:14 dalek r35850 | Whiteknight++ | trunk/docs/book:
01:14 dalek : [Book] Redo the first parts of chapter 1 to down-play the relationship between PIR and PASM, and make a few clarifications
01:14 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35850
01:14 chromatic rg, did you try 'make install'?
01:14 rg yes
01:15 rg and it has the correct library path without setting any environment variables or other runtime linker magic.
01:17 rg although it's like andy wrote in his mail, 3 executables get installed with the incorrect (build path) rpath
01:18 chromatic Okay, definitely progress though.
01:18 Whiteknight chromatic, you're on fire tonight: answering questions, fixing bugs, kicking ass!
01:19 chromatic Yeah, but I need to leave the house in 20.
01:19 rg i wonder how that will work out on darwin. i can only test on freebsd.
01:22 cotto chromatic, what time are you planning on cutting the release?
01:22 chromatic About four hours, cotto.
01:26 riffraff joined #parrot
01:29 TiMBuS how the heck.. does anyone know how to make a nested comment parser? like so if i had (* and *) delimiters, i could nest them inside each other.
01:30 arbingersys joined #parrot
01:43 cotto TiMBuS, in a grammar?
01:43 TiMBuS yeah
01:43 TiMBuS i figure it can recurse down
01:44 TiMBuS something like: token comment { '(*' [ . | <.comment> ]*? '*)' } (but not since that doesnt work)
01:45 cotto I think '(*' ~ '*)' <.comment>
01:45 cotto It's used in a couple places in Rakudo's grammar.
01:47 cotto look for '(' ~ ')' in S05
01:48 TiMBuS oh
01:48 TiMBuS thats handy
01:50 DietCoke joined #parrot
01:50 DietCoke cotto: I'm back.
01:50 cotto wb, Coke
01:52 cotto BTW, what's with PMC inheritance in tcl?  It seems odd to have TclFloat delegate set_integer_native to TclObject and have TclFloat only implement get_string.
01:53 cotto Is that just the tclish way?
01:54 Coke stolen six years ago from perl.
01:54 Coke tclobject was vaguely like scalar.
01:54 Coke this also predates roles and any easy way to share methods.
01:54 cotto hysterical raisins, then?
01:54 Coke the morphing is vaguely helpful.
01:54 Coke but I am probably going to eventually just have a TclScalar that knows all the various bits.
01:56 cotto That's actually helpful to know.  It helps make a good case for decent C-level support for PMC multiple inheritance.
01:56 cotto (I think it's planned anyway, but it's good to have a use case to point at.)
01:57 cotto s/ a / a potential /
01:57 Coke was float the only one that changed?
01:57 Coke (I also have ints, strings, hashes, and arrays)
01:58 Coke If someone wants to try to debug #193, I can give you acces to my box.
01:58 cotto yes
01:59 arbingersy1 joined #parrot
02:02 arbingersy1 left #parrot
02:05 Coke chromatic_afk: I just svn up'd and tried #193 again, it still segfaults here.
02:09 kid51 joined #parrot
02:17 Coke cotto: unfortunately, many tcl tests are failing; I'll try to get things fixed up shortly after the parrot release.
02:17 * kid51 rebuilds to see if the build failure reported 3 hours ago has been fixed.
02:19 rg kid51: are you on darwin?
02:25 jimmy joined #parrot
02:27 Infinoid All right.  I've got some spare tuits.  Anything still need cleaning up for the release?  (Victim here, victim here!)
02:29 jimk joined #parrot
02:30 jimk rg:  Yes.  10.4 PPC
02:30 jimk my connection is f**ed up
02:31 kid51 joined #parrot
02:32 kid51 rg:  Yes.  10.4 PPC
02:32 rg kid51: i'd be curious how an install would work there now. chromatic has checked in some code that sets the linker hints on where to find the shared libraries.
02:34 kid51 I'm running 'make' and 'make smolder_test' now.  That'll take some time -- 5-y-o iBook here.  After that is done, I'll have to reconfigure with a --prefix= build.  Only then will I be able to rebuild and try an install.
02:34 particle joined #parrot
02:34 kid51 So that's probably an hour away.
02:35 kid51 rg:  Do you know where he made the changes?  i.e., which files or which SVN rev?
02:36 rg that was r35849
02:40 * kid51 looks at  35849
02:40 kid51 Ah, I should have know it would be Andy D who would figure it out.
02:40 kid51 s/know/known/
02:52 arbingersy1 joined #parrot
02:54 nopaste "kid51" at 70.85.31.226 pasted "t/pmc/io.t failure on Linux at r35850" (114 lines) at http://nopaste.snit.ch/15380
02:56 kid51 Also visible here: http://smolder.plusthree.com/app/pu​blic_projects/tap_stream/15562/239
02:56 shorten kid51's url is at http://xrl.us/bec8r7
02:57 kid51 I have not previously observed failures in this file on Linux.
02:58 kid51 Failing on NetBSD as well.  So it's failing on the OSes that usually report 100% passes.
02:58 rg interesting. it's not failing for me on freebsd
02:59 kid51 Latest NetBSD smolder:  http://smolder.plusthree.com/app/pu​blic_projects/report_details/15564
02:59 shorten kid51's url is at http://xrl.us/bec8sb
03:02 Infinoid passes here on linux/x86-64
03:03 Infinoid kid51: any chance you can nopaste a backtrace?
03:03 Rahly should i check mine?
03:03 Infinoid Rahly: more testing never hurts.
03:04 TiMBuS '(*' ~ '*)' [ <-[(]> | . <!before '*'> | <.comment> ]*? woot finally
03:04 Rahly latest svn?
03:04 petdance joined #parrot
03:04 Infinoid Rahly: yes please
03:05 petdance ping pmichaud
03:05 purl I can't find pmichaud in the DNS.
03:05 kid51 What are the commands for running a backtrace, again?
03:05 Infinoid gdb parrot
03:05 Infinoid run t/pmc/io_23.pir
03:05 Infinoid bt
03:06 Rahly if you have gdb installed ;-)
03:06 kid51 ok.  I forgot that 'parrot' immediately follows 'gdb'
03:07 Rahly Rev: 35850 64-bit compiles
03:07 Infinoid Rahly: try "make test" please
03:07 Rahly running
03:08 nopaste "kid51" at 71.247.51.14 pasted "t/pmc/io.t backtrace" (55 lines) at http://nopaste.snit.ch/15381
03:09 Infinoid oof, utf16
03:09 pmichaud petdance: pong
03:09 petdance evening squire
03:09 pmichaud good evening
03:09 petdance y'knkow, we can yap here for a while
03:10 pmichaud that's fine too
03:10 petdance not even sure I need a phone
03:10 Rahly uname -a?
03:10 purl Infobot 0.43.3 alpha (oznoid+#perl)
03:10 petdance Not that I don't enjoy your mellifluous tones
03:10 kid51 Strangely, that test passed on Darwin.
03:11 petdance plus, here more people can kibbitz
03:11 petdance which could be bad
03:11 petdance or good
03:11 pmichaud kibbitz++
03:11 petdance OK, so here's the deal
03:11 petdance I'm writing my keynote for FP2009
03:12 petdance First Big Grand Idea
03:12 petdance Starting today, we always refer to Perl with a number following
03:12 Infinoid kid51: this looks a lot like TT #193
03:12 petdance 5 or 6
03:12 purl 7
03:12 Rahly All tests successful.
03:12 purl ship that bitch
03:12 Rahly Files=395, Tests=11811, 232 wallclock secs ( 4.12 usr  1.28 sys + 149.27 cusr 44.26 csys = 198.93 CPU)
03:12 nopaste "rg" at 62.216.219.153 pasted "kid51's backtrace hopefully not utf16" (55 lines) at http://nopaste.snit.ch/15382
03:12 Infinoid ... but without the tcl, and without the -t1.
03:13 pmichaud (btw, for better kibbitzing, perhaps we should chat on #perl6 :-)
03:13 petdance yeah
03:13 petdance ok, going there
03:16 Rahly 32-bit compiled on 64-bit
03:16 kid51 Infinoid:  that's a pretty big but
03:17 Rahly big butt?
03:18 Infinoid kid51: seems like the same crash, with a much smaller testcase
03:18 dalek r35851 | infinoid++ | trunk/config/inter:
03:18 dalek : [cage] Kill Trailing Whitespace Dead.
03:18 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35851
03:18 kid51 Rahly:  Are you trying to tempt purl into saying something nasty?
03:18 Rahly not me
03:19 kid51 So 'make test' finally concluded on Darwin, passing all tests.  Same rev as the one at which linux failed t/pmc/io.t
03:19 kid51 Darwin smolder report:  http://smolder.plusthree.com/app/pu​blic_projects/report_details/15568
03:19 shorten kid51's url is at http://xrl.us/bec8t7
03:20 Rahly All tests successful, 14 tests and 663 subtests skipped.
03:20 Rahly Files=395, Tests=11810, 203 wallclock secs (132.70 cusr + 33.98 csys = 166.68 CPU)
03:20 * kid51 must get some dinner
03:20 Rahly Infinoid: FYI, Linux melchior 2.6.27.8 #2 SMP PREEMPT Mon Dec 8 00:47:48 EST 2008 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ AuthenticAMD GNU/Linux
03:21 Infinoid Rahly: Linux chirp 2.6.28 #3 SMP PREEMPT Wed Jan 14 06:38:04 PST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU T7100 @ 1.80GHz GenuineIntel GNU/Linux
03:22 Rahly USE_ARCH=32 CC="gcc ${BUILD32}" perl ./Configure.pl --prefix=/usr
03:22 Rahly s/32/64/ for 64bit
03:23 Infinoid I use a different machine for 32 bit testing.
03:23 Rahly mine a cross compiler
03:23 Rahly *mine's
03:24 Infinoid I think gcc -m32 is all that would be needed, here.  But then I have to remember which tree was built for what.
03:25 Rahly right
03:25 Rahly the USE_ARCH tells the build process which perl to use
03:29 Infinoid ok, so test, codetest and testC look good on gentoo/x64
03:29 Infinoid trying test, testC and testj on gentoo/x86 now
03:29 Rahly same here
03:29 Rahly both with x86-64 and x86-32 on x86-64
03:30 jimmy wa, all passed on mswin32
03:30 jimmy but failed  60 on another mswin32 with same env.
03:31 Infinoid which 60?
03:31 jimmy 60 tests
03:31 jimmy wait
03:34 jimmy #14939 Added 01/17/09 9:38 PM by parrot-autobot (21:36)  # Failed   60 (0.5%)
03:36 Infinoid jimmy: any chance for an updated test run?  we've fixed several things in the last few days...
03:38 jimmy sorry, my computer have no network now. but it always failed with 60 tests on my computer on mswin32, but all passed on another computer.
03:39 Infinoid weird.
03:40 jimmy yes. they are the same env. but one is amd cpu, another is intel
03:41 Infinoid amd athlon?
03:41 jimmy all passed on amd, not intel
03:41 jimmy amd 9550
03:42 Infinoid ok.  still, the difference may be relevant
03:42 Infinoid I always get Configure.pl errors on win32 athlon with strawberry perl, due to strawberry's libgmp.dll being built with SSE3 instructions (which the processor can't handle)
03:42 Infinoid I don't know much detail about the differences between current 64 bit processors, but it may be something similar.
03:43 * jimmy is going to have lunch
03:44 Infinoid eat well.  dinner sounds like a good idea, here
03:49 Infinoid on gentoo/x86, test, testC and testj look pretty good.  one TODO test passed on testC (I've been getting that for a while now), two of them passed on testj.
03:49 Infinoid ok, time to make something with noodles, chicken breast and pesto.  bbl
04:27 arbingersys joined #parrot
04:33 nopaste "kid51" at 71.247.51.14 pasted "'make install' now DWIMs on Linux" (20 lines) at http://nopaste.snit.ch/15383
04:35 * kid51 must sleep
04:35 purl $kid51->sleep(8 * 3600);
04:36 arbingersy1 joined #parrot
04:38 arbingersy1 left #parrot
04:50 tetragon joined #parrot
04:54 particle1 joined #parrot
05:28 iblechbot joined #parrot
05:59 MariachiElf joined #parrot
06:00 donaldh joined #parrot
06:16 On joined #parrot
06:24 jimmy left #parrot
06:55 Theory joined #parrot
07:06 particle joined #parrot
07:34 tomyan joined #parrot
08:00 dalek r35852 | chromatic++ | trunk:
08:00 dalek : [distro] Updated NEWS for 0.9.0 release.
08:00 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35852
08:01 goosh joined #parrot
08:02 dalek r35853 | chromatic++ | trunk (6 files):
08:02 dalek : [ops] Removed deprecated n_neg opcode.
08:02 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35853
08:08 dalek r35854 | chromatic++ | trunk (22 files):
08:08 dalek : [distro] Updated for 0.9.0 release.
08:08 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35854
08:11 moritz chromatic: did you just remove a newly deprecated op? or was that deprecated before?
08:14 barney joined #parrot
08:15 chromatic It was deprecated before.
08:15 moritz ok
08:18 dalek r35855 | chromatic++ | trunk/src:
08:18 dalek : [GC] Worked around a spurious segfault-inducing problem in the GC where STRINGs
08:18 dalek : sometimes get the "Hey, I'm a PMC!" flag set.  Somehow r35847 didn't quite do
08:18 dalek : the trick.  This does.  Whiteknight and I will track this down -- but no time
08:18 dalek : before the release.
08:18 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35855
08:19 dalek r35856 | chromatic++ | tags:
08:19 dalek : Tagged release 0.9.0
08:19 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35856
08:21 mberends joined #parrot
08:31 Topic for #parrotis now Parrot 0.9.0 "From Outer Space" Released | http://parrot.org/
08:33 moritz gah, rakudo's "make spectest" is broken on r35854
08:34 moritz ../../parrot  perl6.pbc --target=pir --output=Test.pir Test.pm
08:34 moritz Could not find non-existent sub !keyword_role
08:35 chromatic You may have to rebuild PCT.
08:36 jimmy joined #parrot
08:37 mberends moritz_: r35856 after realclean fails: Could not find non-existent sub !keyword_role
08:39 moritz chromatic: same after realclean and rebuild
08:40 tomyan left #parrot
08:41 chromatic Don't tell me it's the n_neg thing.
08:43 chromatic If r35832 works... gah.
08:52 chromatic Okay, good.  That didn't fix it.
09:00 tomyan joined #parrot
09:08 mberends joined #parrot
09:10 dalek r35857 | bernhard++ | trunk:
09:10 dalek : [install] remove dependencies on bc and m4
09:10 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35857
09:17 iblechbot joined #parrot
09:25 particle1 joined #parrot
09:38 masak joined #parrot
09:39 masak rakudo: my @a
09:39 polyglotbot OUTPUT[Could not find non-existent sub !keyword_role␤current instr.: '' pc 2702 (src/classes/Abstraction.pir:15)␤called from Sub 'parrot;P6protoobject;main' pc -1 ((unknown file):-1)␤]
09:39 masak you just love breaking Rakudo nowadays, don't you? :)
09:44 masak 'make spectest' dies with the same error.
09:45 moritz masak: aze, I reported the same an hour ago ;/
09:45 moritz s/aze/aye/
09:45 moritz switching between German and US keyboard is hard sometimes
09:45 jonathan morning
09:45 masak jonathan: well, hello!
09:45 masak Rakudo is b0rken.
09:46 jonathan rakudo: say 42
09:46 polyglotbot OUTPUT[Could not find non-existent sub !keyword_role␤current instr.: '' pc 2702 (src/classes/Abstraction.pir:15)␤called from Sub 'parrot;P6protoobject;main' pc -1 ((unknown file):-1)␤]
09:46 jonathan wtf.
09:46 masak at least it's consistent.
09:46 jonathan Any idea since when?
09:46 moritz I think I tested with r35840, and it worked
09:47 masak same here.
09:47 jonathan I locally have Revision: 35840 and it works.
09:47 masak some somewhere along the last 17 commits.
09:47 masak in the last 10 hours.
09:47 TiMBuS the p6 folder has 'Last Changed Rev: 35844'
09:48 moritz TiMBuS: but that was only a POD change, I think
09:49 TiMBuS nope
09:49 TiMBuS thts the rev that broke it
09:49 masak TiMBuS++
09:49 jonathan So was this a revision before or after teh release... :-|
09:50 TiMBuS :x
09:50 masak oh, the release has already taken place?
09:50 moritz jonathan: you can guess...
09:51 masak you mean you didn't test Rakudo before releasing Parrot? :P
09:51 masak oops.
09:53 moritz masak: ok, you're a "project owner", which means you can invite more people if you feel like
09:53 TiMBuS a svn diff shows only a couple of lines changed, wonder what thats all about. maybe a borken piece of pod
09:53 masak moritz: hokay.
09:54 moritz svn diff -c 35844 | patch -p0 -R # in rakudo's dir helps
09:54 masak what does this mean for the release? people are wont to test Rakudo.
09:55 moritz I hope chromatic releases a 0.9.0.1 or something
09:55 lathos Thass embarrasing.
09:56 masak well, at least it tells us something about the release process.
09:56 masak it's always nice to know that there's room for improvement.
09:58 jonathan Confirm it's certainly that revision - the one before it worked just fine...
09:58 jonathan masak: Well, by the next Parrot release, Rakudo will be making its own releases anyway...
09:58 TiMBuS just add a =back to protoobject.pir
09:58 masak jonathan: true.
09:59 TiMBuS at the bottom, before =cut
10:00 jonathan r35858
10:00 dalek r35858 | jonathan++ | trunk/languages/perl6/src/classes:
10:00 dalek : [rakudo] Move a =cut that broke stuff.
10:00 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35858
10:00 jonathan Got rid of the =cut, since there wasn't a corresponding =over
10:04 alvar joined #parrot
10:04 GeJ Ah, you beat me to it. I just found it and was rebuilding.
10:05 * masak hopes there'll be a re-release
10:06 TiMBuS 'haha just kidding, this is the real release'
10:07 masak :/
10:08 GeJ was there an announcement already?
10:08 GeJ I don't see anything on use.perl or on any of the planets.
10:09 TiMBuS http://www.parrot.org/
10:09 purl http://www.parrot.org/ is the new homepage and feather aka http://www.parrotvm.org/
10:12 GeJ did the tarball hit PAUSE already?because it doesn't seem to be on parrot.org's http yet.
10:12 GeJ if not, this not really a problem.
10:16 masak you mean the tarball can be intercepted somehow?
10:16 masak "quick! hit the undo button!"
10:18 GeJ Well, the announcement is on parrot.org yes. But ftp://ftp.parrot.org/pub/parrot/releases/devel/ is missing 0.9.0
10:19 GeJ and http://search.cpan.org/dist/parrot/ still shows 0.8.2
10:19 GeJ so far, I don't see a 0.9.0 tarball available on the Intertubes.
10:20 TiMBuS safe.
10:20 GeJ so except for the 6 of us here who caught the hiccup, nobody knows about it.
10:22 masak good thing the channel isn't logged or anything.
10:22 TiMBuS lol
10:47 braceta joined #parrot
10:51 krunen joined #parrot
10:58 dalek r35859 | jonathan++ | trunk/compilers/imcc:
10:58 dalek : [imcc] Fix segfault that happened when using annotations in eval'd PIR.
10:58 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35859
10:59 dalek r35860 | jonathan++ | trunk/t/op:
10:59 dalek : [t] Test for annotations in eval'd code. Based on code from TT#180 (coke++).
10:59 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35860
11:00 amorette joined #parrot
11:08 jonathan particle1: I had the realization that if you do a make testr, then it will compile t/op/annotate.t to PBC, which in turn (if it runs successfully - which it does) means annotations are persisted to bytecode correctly. Do we therefore need to write some other explicit test cases for this?
11:35 TiMBuS is there a c string to parrot string function? i want to just return a hardcoded string from get_string
11:36 jonathan CONST_STRING(interp, "my string here")
11:40 TiMBuS oh man i even have string.c open and i didnt see that :<
11:41 jonathan TiMBuS: It's a macro, so it's maybe not in there.
11:42 TiMBuS its there, i was just looking for something more like 'make_string' or 'new_from ...'
11:42 jonathan It only works for hardcoded ones, of course. :-)
11:46 particle joined #parrot
11:51 kj joined #parrot
12:30 TiMBuS man i would kill for a pir profiler
12:30 Coke_z joined #parrot
12:32 namenlos will there be a COMPILE pa00bli2.p SAVE.
12:33 jonathan TiMBuS: It's a tempting offer, but I don't really need anyone assassinating right now...
12:33 namenlos sorry, the previous should have been: will there be a ftp://ftp.parrot.org/pub/pa​rrot/releases/devel/0.9.0/
12:33 namenlos ?
12:34 jonathan namenlos: Yes, I expect so.
12:34 hudnix joined #parrot
12:35 namenlos jonathan: thx i was just wondering. it was announced, but the src tarball not yet generated...
12:36 TiMBuS dang
13:19 dalek r35861 | jonathan++ | trunk/languages/perl6/src (2 files):
13:19 dalek : [rakudo] Make 'handles' trait verb handle pairs, classes, roles and smartmatching on anything else.
13:19 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35861
13:33 khatar is there a good place for perl6 questions ?
13:34 jonathan khatar: Probably #perl6, on...the other server...
13:34 jonathan freenode?
13:34 purl freenode is less and less IRC day by day or what google suggests or where lots of open-source but not perl channels are.
13:34 jonathan I think.
13:34 khatar ok
13:34 khatar thx
13:34 * jonathan is on that channel too
13:40 khatar jonathan, yep: i see you
13:48 dalek r35862 | jonathan++ | trunk/languages/perl6/src/parser:
13:48 dalek : [rakudo] Fix whatever.
13:48 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35862
13:48 jonathan ...that'd be a terrible commit message if it wasn't a commit to a Perl 6 implementation. :-)
13:54 galf left #parrot
13:54 galf joined #parrot
13:55 galf left #parrot
13:55 galf joined #parrot
13:57 kj jonathan: :-)
13:57 tetragon joined #parrot
13:58 moritz jonathan: I already admired it :-)
13:59 Whiteknight joined #parrot
14:02 tetragon_ joined #parrot
14:07 particle1 joined #parrot
14:08 dalek r35863 | cotto++ | trunk/src (5 files):
14:08 dalek : [pmc] another batch of PMC_x_val -> VTABLE conversions
14:08 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35863
14:20 rg joined #parrot
14:25 braceta_ joined #parrot
14:25 szbalint joined #parrot
14:28 gryphon joined #parrot
14:31 braceta joined #parrot
14:31 Whiteknight joined #parrot
14:36 Coke_z jonathan: (tt#180) yay.
14:36 jonathan Coke_z: Hope it works for you.
14:37 jonathan Note that your original example had also an extra invocation of the sub before the push_eh
14:40 Whiteknight 0.9.0 was a pretty impressive release. We got a lot done in the past month
14:41 Whiteknight us++
14:52 PerlJam Was the release announced on perlmonks or perlbuzz or anywhere other than parrot.org?
14:52 particle1 jonathan: re pbc annotations, i think we should run annotate.t with testr in 'make test', then i'd be satisfied
14:52 jonathan particle1: Any ideas how to practically achieve that?
14:53 particle it's all makefile wonkery, quite easy
14:53 particle add a special target for that file with that core, and make the test target depend on it
14:54 Andy I just put it in Perlbuzz's witter feed
14:54 dalek r35864 | jonathan++ | trunk/languages/perl6/src (2 files):
14:54 dalek : [rakudo] Implement use of has @array handles ... and also give an error if has %x handles ... is used (the synopses reserve the syntax for now but don't specify it).
14:54 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35864
14:54 Andy Twitter feed
14:54 particle call it test_pbc_annotation_persistence or whatever
14:58 jonathan okies.
14:58 Coke jonathan: my sample code works. Once I fixup partcl to deal with recent breakages, I'll try teh annotations out.
14:58 jonathan Coke: teh awesome!
14:59 Coke i think the hardest part is to to be writing something that takes a backtrace() and formats it nicely, which is a nice place for my complexity to be. =-)
15:00 jonathan It's not *that* hard. ;-)
15:00 jonathan It's just boring data munging. :-)
15:15 Coke wtf.
15:15 jonathan omg.
15:15 jonathan bbq?
15:15 purl bbq is at http://www.inlink.com/~perlguy/bbq or OMGWTF
15:17 Coke I screwed up moving TclArray over to a pir class instead of a pmc.
15:17 Coke I blindly made it subclass from ResizablePMCArray because it's an array, right? no, it's a hash. whoops.
15:18 jonathan oops.
15:18 jonathan :-(
15:18 Coke at least my stupidity is easily fixable. =-)
15:19 moritz is that like lua where arrays and hashes are the same data structure?
15:19 Coke nah, in tcl, array means 'associative array', not a perlish list-like array.
15:19 kj TclTable would alliterate too much :-)
15:19 Coke I just saw array and went on autopilot.
15:20 Coke they have array (which is a single-level associative array), and "everything else", which is basically a scalar in many forms, including a list, a dictionary (multi-level'd hash), strings, numbers...
15:20 Coke I don't quite implement it that way. I have a separate class or PMC for each type.
15:21 estrabd joined #parrot
15:22 Coke all the non-array stuff can "shimmer" or morph into each, though.
15:22 Coke *each other
15:25 Coke I'm getting Test::Builder failures in some tcl tests; any recent changes there?
15:30 arbingersys joined #parrot
15:32 AndyA joined #parrot
15:34 dalek r35865 | cotto++ | trunk/src:
15:34 dalek : [pmc] another long pmc_x_val -> VTABLE conversion
15:34 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35865
15:37 particle cotto: long? it's one line of code.
15:37 kj it's longer than it was ;-)
15:37 cotto s/long/lone/
15:39 Coke -> (10:33) From Sue D. Nymme [remember to breathe], to perl:
15:39 Coke - Perl now has "say"... why not "cry"?  Same as "say", only it goes to STDERR.
15:39 Coke -  :-)
15:39 masak I like the idea. :)
15:40 khatar i love it!
15:41 particle cute, but not i don't think perl needs a shorter variant of warn that automatically adds a newline.
15:41 NotFound Maybe "blame" will be mora appropiate X-)
15:42 masak 'blame' doesn't really work if the first argument is an error message.
15:43 jonathan woo
15:43 jonathan role Foo[::T] { method x { say T } }
15:43 jonathan sub bar(Foo of Int $x) { $x.x }
15:43 jonathan bar(Foo[Int].new); # works
15:43 jonathan bar(Foo[Str].new); # fails
15:43 NotFound masak: lot of error messages are intended to blame others: the OS, the user....
15:43 NotFound Never the programmer who wrote the message X-)
15:43 masak NotFound: tastes differ, I guess. to me it doesn't sound right.
15:44 jonathan blame "masak";
15:44 NotFound blame "posix";
15:44 jonathan blame "the problem between the chair and the computer";
15:44 NotFound It's all posix's fault
15:45 masak often enough, it's my fault, too. :/
15:45 jonathan Mine too!
15:46 * particle blames jonathan
15:46 NotFound A nice addition might bee a version of the program from Kernighan & Pike book that randomly select a line from /etc/passwd an says: It's all ${user}'s fault!
15:47 NotFound It can look at a list of parrot developers, instead.
15:48 braceta_ joined #parrot
15:48 moritz ship a small db with the devs and the number of their commits, and scale their fault propability with the number of commits :)
15:49 jhorwitz joined #parrot
15:50 Coke hurm. should I expect $P0 = new 'Undef', assign $P1, $P0 ; to behave differently if $P1 is a PMC or a class?
15:50 * jonathan starts doing less, but larger commits...
15:50 szabgab any reasons rakudo requires parentheses around say when in -e mode ?   that is -e "say(42)" works but -e "say 42" does not?
15:50 Coke particle: by that argument, we don't need say. =-)
15:51 NotFound svn ci -m 'fix the whole world'
15:51 jonathan Coke: Example?
15:51 particle coke: no, say targets a more common use case than print.
15:51 particle i don't think warn ..., "\n" is more common than warn ...
15:52 moritz szabgab: it works here - are you sure it's not a shell quoting issue?
15:52 Coke jonathan: just trying to cleanup the fallout from my conversion of TclArray from a PMC to a class.
15:53 Coke one case in which it acts differently is when I unset a variable. (This is done by assigning undef to the original PMC)
15:53 Coke in the current scheme, the old variable persists.
15:53 jonathan I think assign is overridable but should call up to the PMC you subclassed.
15:54 szabgab moritz: does not seem to be
15:54 Coke unless Object is getting in the way.
15:54 NotFound szabgab: elaborate "does not work"
15:55 szabgab hmm, it seems that moritz was right, my perl6 alias sucks
15:55 szabgab NotFound: I got say requires an argument at line 1, near ""
15:56 jonathan Coke: Maybe.
15:56 jonathan Coke: If you can get a smallish PIR test case, would help.
15:56 NotFound szabgab: be carefull with shell expanding of metavariables
15:57 Coke hurm. object doesn't override assign_pmc. default's assign_pmc special cases undef.
15:57 szabgab hmm, I don't have a perl6 alias, I have a shell script with this: path/to/parrot path/to/perl6.pbc $@
15:57 NotFound szabgab: use "$@" instead of $@
15:58 szabgab NotFound: that did the trick, thanks
15:58 dalek r35866 | jonathan++ | trunk/languages/perl6/src/parser (2 files):
15:58 dalek : [rakudo] Parse and implement 'of' keywrod, and switch s/typename/fulltypename/ in a place where STD.pm has it.
15:58 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35866
16:00 nopaste "coke" at 72.228.52.192 pasted "pir for jonathan" (20 lines) at http://nopaste.snit.ch/15384
16:00 Coke jonathan: there you go. first one reports 'undef'. second reports "myhash"
16:00 Coke look like a bug to you?
16:02 Theory joined #parrot
16:02 jonathan yes
16:02 Coke opening ticket...
16:02 jonathan I can even guess where-ish it is.
16:02 jonathan And if it's what I think it is, I'm not so sure on a fix.
16:05 Coke https://trac.parrot.org/parrot/ticket/203
16:05 Coke what do you think it is?
16:05 Coke and I suppose I could use 'copy' here instead of assing.
16:06 NotFound Assign is supposed to work in place in the destination op, right?
16:06 Coke yup. using 'copy' DTRT.
16:07 NotFound If we are going to deprecate morph, I wonder if that can be made to work.
16:07 Coke destination op?
16:08 NotFound Operator. The target pmc
16:10 jonathan Coke: I think that assign is modifying the proxy PMC
16:10 jonathan That exists to hold the instance data of what was subclassed
16:11 jonathan But not the Object PMC.
16:11 jonathan Yes, copy would do it.
16:18 dalek r35867 | jonathan++ | trunk/languages/perl6/t:
16:18 dalek : [rakudo] Add S12-role/parameterized-type.t to spectest.data.
16:18 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35867
16:24 szabgab do I understand correctly that if a subroutine is  0-ary it means it does not get any parameters?
16:24 szabgab or am I misunderstanding ary
16:24 masak 0-ary means zero arguments, yes.
16:25 NotFound szabgab: I think there is a problem with main, and because of that they accept any number of arguments as a workaround
16:25 szabgab so in S29-functions.pod rand() has this: our Num method rand ( Num $x: )   and then it says rand is 0-ary
16:25 szabgab is this a bug in S29 ?
16:26 szabgab rakudo btw does not accept a paramter for rand()
16:26 jonathan szabgab: The rand() nullary sub and the rand method on Num aren't the same thing, IIRC.
16:27 szabgab 60.rand works rand(60) tells me too many arguments passed - 0 params expected,
16:27 szabgab this is strange
16:28 particle1 joined #parrot
16:28 jonathan szabgab: Num's rand method is not exported as a multi.
16:29 szabgab I don't understand the reasoning behind that but, anyway I actuall wanted to ask something else :-)
16:29 szabgab in the docs it says the recommended way is to write (1..6).pick
16:30 szabgab if I want random whole numbers
16:30 szabgab (1..100000).pick seems to be rather slow...
16:31 Coke jonathan: freaky. switching to use copy fixes most of the remaining partcl failures... and causes a TODOd test marked as "used to work" to pass.
16:32 dalek r35868 | jonathan++ | trunk/languages/perl6/src/classes:
16:32 dalek : [rakudo] Roles need to know how to .WHICH (if nothing else so we can recursively parameterize them).
16:32 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35868
16:34 jonathan szabgab: I fear that it might not be being as lazy as it really should be there.
16:35 jonathan Coke: We use copy heavily in Rakudo for assignment stuff with good results.
16:38 Coke szabgab: at a guess, it's converting it to a list before executing the pick, instead of having pick work on a range.
16:40 jonathan Coke: That's my guess too.
16:40 szabgab Coke: yeah, that would be my guess too, I just was not confident how should it work ?
16:40 jonathan szabgab: Likely, Range implements pick.
16:40 jonathan And does something sensible.
16:40 NotFound Mmmmmm.... after up r35868, make perl6 does nothing
16:42 NotFound Looks like the fakecutable target lacks some dependencies
16:44 szabgab this works 6.rand.int+1  too
16:46 Coke hurm. is pick supposed to remove the element from the list?
16:46 PerlJam Coke: I don't think so.
16:47 Coke if not, then this is pretty easy.
16:47 jonathan Coke: no
16:49 * jonathan can have roles parameterized with themselves now...woo.
16:50 PerlJam jonathan: recursive parameterization?
16:54 Coke are ranges integral?
16:54 Coke (can you have a range of 2.3 to 4.2?)
16:55 PerlJam the step is integral
16:55 jonathan PerlJam: role Foo[::T] { }; class Bar does Foo[Foo[Int]] { }
16:57 PerlJam Coke: you can specify such a range, but when you evaluate it, you'll get the two values 2.3 and 3.3
17:00 Coke I committed a basic version of pick for range.
17:00 dalek r35869 | coke++ | trunk/languages/perl6/src/classes:
17:00 dalek : Add a basic version of .pick() for Range and hopefully not break anything.
17:00 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35869
17:00 chromatic joined #parrot
17:04 particle1 perljam: unless you go evaluate off the tail of the range
17:04 particle comcast--
17:05 hercynium joined #parrot
17:09 chromatic I haven't uploaded tarballs to parrot.org yet; did someone fix the Rakudo role error?
17:10 jonathan chromatic: Yes.
17:10 particle yes, it's fixed
17:10 particle http://www.parrotvm.org/svn​/parrot/revision?rev=35858
17:10 jonathan An unfortunate POD thing.
17:11 particle full house. 8's over 5's.
17:11 chromatic Wow.
17:13 * jonathan doesn't make comment about pod tests improving release quality ;-)
17:14 chromatic Yes, but imagine the horror if I'd released a file which contained... A TRAILING SPACE!!
17:14 particle any idea how that broke stuff?
17:14 chromatic You should probably read the capitalized words as if they had blood dripping off of them.
17:16 jonathan particle: The POD before wasn't valid. It had a =back that didn't have an =over matching it. Unfortunately, deleting the =back left us with some code quoted inside the POD, and thus not compiled into Rakudo, and it turned out that bit of code is...kinda important.
17:16 particle but the =cut is at the end of the file
17:18 jonathan Aye, but the code above it musta been taken to be part of the POD up to that =cut.
17:18 jonathan It may be a bug in our pod parsing.
17:18 particle yes, seems it's a bug in imcc's pir parser
17:18 particle so, it's A BUG IN PARROT.
17:19 jonathan Do those caps have blood dripping off them too?
17:19 particle yes, parrot blood.
17:19 particle do we have tests for pod-in-pir?
17:19 * particle looks closer
17:19 chromatic Apparently not.
17:20 kj was there a newline after the =cut?
17:20 particle gah. this project sucks.
17:20 namenlos soemhow, when i run "make ./perl6" i get the following: http://dpaste.com/111501/
17:20 particle kj: yes, there was a pir coda after =cut
17:20 kj mm ok
17:20 particle ...pod... =cut ...code... =cut ...coda...
17:20 particle imcc interpreted the code as pod
17:21 jonathan namenlos: That's been fixed in svn head.
17:21 chromatic Okay, I have a new tarball to upload to the site.
17:21 jonathan Awesome.
17:21 chromatic The only difference between that and the version on the CPAN is that POD fix.
17:21 particle do you want someone to test rakudo? ;)
17:21 jonathan chromatic: What revision? Or did you just whip out the =cut?
17:21 namenlos chromatic: is ftp.parrot.org going to be updated, too?
17:21 namenlos jonathan: thx for the info
17:22 chromatic I just cut the =cut.
17:22 jonathan Great. :-)
17:22 jonathan ship it!
17:22 chromatic I haven't put anything on ftp.parrot.org because no one was around with access last night.
17:22 chromatic In *theory* I have an ssh key... oh wait.  I have a password.
17:24 * Theory regurgitates chromatic's ssh key
17:25 chromatic Great, now it has democrat all over it.
17:25 Theory chromatic: hey, that's trendy now.
17:25 Theory But I'm more of a liberal.
17:25 Theory than a democrat
17:25 Theory Also, I thought you anarchists were into that sort of thing.
17:26 * chromatic vomits with indifference
17:26 Theory oh, that's evenworse
17:27 chromatic or from, whichever
17:27 chromatic Why do I have to care?  You guys elected the male version of Mary Poppins, who's going to fix everything!
17:30 NotFound Do you like better someone who's going to make war to everyone? }:)
17:30 chromatic You're a European; don't fall for our false dilemma politics!
17:31 chromatic As long as Reid and Pelosi are in charge of Congress, expect a lot of nothing but the same.  'sall I'm sayin.
17:31 NotFound chromatic: I'm from outer space
17:31 chromatic So is this bird.
17:31 particle have your obama flakes, chromatic. after all, it's the Breakfast of Congressmen.
17:32 NotFound All your presidents are belog to us!
17:34 chromatic Uploading 0.9.0.1 to the CPAN.
17:36 Theory chromatic: And you didn't vote?
17:37 Theory chromatic: Agreed on Reid in particular. He has to go in 2010.
17:37 chromatic I did.
17:37 Theory For Ralph?
17:37 NotFound Laurent?
17:37 purl Laurent is lg's first name
17:37 Theory Nader
17:38 chromatic I didn't vote for a major party candidate; I'll say that much.
17:38 lathos I don't understand voting for Nader.
17:38 Theory chromatic: You're whacked.
17:38 * Theory agrees with lathos (WTF?)
17:38 lathos Better to vote for Mickey Mouse, he encompasses more American values and has as much chance of election.
17:39 Theory lol
17:39 * NotFound votes for Spiderman
17:39 chromatic Categorical imperative: if everyone voted for who they thought would be the better leader, not which of the two major party candidates they find least objectionable, maybe we'd have better leaders.
17:39 Theory I love the story about the guy who voted for Duran Duran.
17:39 Theory chromatic: Yeah. It's not set up that way, though.
17:40 moritz if nobody votes for small parties, you'll be stuck with a two-party system forever.
17:40 lathos Great. Now you're imagining a style of government while requires everyone else to do the right thing.
17:40 NotFound Cthulhu for president, at least a known evil
17:41 * magnachef voted Ron Paul
17:41 NotFound (borrowed from User Friendly strip)
17:41 chromatic we have laws against murder, and they pretty much work as long as just about everyone else does the right thing and doesn't kill other people.
17:42 Infinoid the laws against murder work as long as noone exercises them?  that sounds like a failing test case.
17:42 lathos No, you have laws against murder *precisely because* other people can't be trusted to do the right thing.
17:43 chromatic If everybody murdered, laws against murder wouldn't work.
17:43 * Theory shoots chromatic
17:43 chromatic Tho' we could talk about tax laws instead, if you don't like murder, or if you like it too much.
17:43 Theory Dammit, he's not dead!
17:44 NotFound You can just redefine murder as "Aided unwanted suicide" or something
17:45 chromatic Or "voting for Nader".
17:47 Andy uh oh, what caused 0.9.0.1?
17:52 particle andy: rakudo broke due to an imcc pod parsing bug
17:52 Andy ok, so not too painful
17:52 particle apparently, we never tested imcc's pod parser
17:52 particle the diff between 0.9.0 and 0.9.0.1 is -   =cut
17:53 lathos Andy: Apart from Perl 6 not working at all, no, not painful.
17:53 mberends joined #parrot
17:54 particle just like the movie, parrot 0.9 is really bad, but people love it.
17:57 chromatic 0.9.1 has one fewer chiropractor
17:59 Coke_away (not third party) Bob Barr, ftw.
18:00 kj we might want to add a rule in imcc's lexer to catch <<EOF>> when in POD scanning phase. At least there's an error then.
18:00 kj well, it gets more clear what's going on, anyway
18:00 Coke jonathan: I see no screaming about my commit.
18:02 dalek r35870 | jonathan++ | trunk/languages/perl6/src/parser:
18:02 dalek : [rakudo] If we take a type as a parameter, we should just bind the parameter directly do that name, not treat it as if it's a type capture. Otherwise, we get wrong answers in various cases, such as when parametric roles are parameterized with other roles.
18:02 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35870
18:03 Coke rakudo: (1..10000000).pick.say
18:03 polyglotbot OUTPUT[5755760␤]
18:03 Coke rakudo: (1..10000000).pick.say
18:03 polyglotbot OUTPUT[1879829␤]
18:03 Coke szabgab: that better?
18:04 jonathan Coke: looks fine
18:04 particle rakudo: (1.1..3.3).reverse.pick.say
18:04 polyglotbot OUTPUT[3.1␤]
18:04 particle i don't think that's correct.
18:05 particle at least, it's unspecced.
18:05 Coke nope, didn't deal with non-integer starting points.
18:05 jonathan rakudo: (1.1..3.3).list.pick
18:05 polyglotbot RESULT[[1.1]]
18:05 jonathan rakudo: (1.1..3.3).list.pick
18:05 polyglotbot RESULT[[3.1]]
18:05 jonathan Hmm. It's what falls out naturally of calling .list.pick though.
18:05 jonathan Which is what I'd expect.
18:06 jonathan Though yes, I suspect unspec'd.
18:06 Coke rakudo:(1..3).reverse.pick.say
18:06 Coke rakudo: (1..3).reverse.pick.say
18:06 polyglotbot OUTPUT[1␤]
18:06 Tene perl6: (1..1000).pick.say
18:06 polyglotbot OUTPUT[635␤]
18:07 particle jonathan: did you fail to notice i hand .reverse in there?
18:07 kj (anybody familiar with the =cut bug): was the =cut standalone, as in, not actually closing a POD comment?
18:07 lathos Rubification complete!
18:07 Tene lathos: eh?
18:07 purl Get off my lawn!
18:07 Tene purl: forget eh
18:07 purl Tene: I forgot eh
18:07 jonathan particle: Yes.
18:07 szabgab Coke: looks good
18:07 purl O_O
18:07 Coke welp, pick works for the simple case now; more tests can help refine the behavior.
18:07 particle coke++
18:07 jonathan Indeed
18:09 Coke meh. was a simple patch.
18:09 kj nopaste?
18:09 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
18:09 purl somebody said nopaste was at http://nopaste.snit.ch/ (ask TonyC for new channels) or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at http://www.extpaste.com/ or http://paste.scsys.co.uk (for #catalyst, #dbix-class, #moose  and others)
18:09 jonathan OK, once we get Array and Hash turned into parametric roles (after we have a Perl 6 prelude) then it shouldn't be much more effort for Rakudo to have typed arrays and hashes. :-)
18:10 * jonathan looks forward to my Hash of Int @a;
18:10 nopaste "kjs" at 193.1.104.5 pasted "=cut bug solution, probably" (12 lines) at http://nopaste.snit.ch/15385
18:11 * particle looks forward to my Hash of Corned-Beef $sandwich;
18:11 jonathan The things that are syntactically valid Perl 6 scares me. :-)
18:12 jonathan my Hash @spliffs; # ;-)
18:15 Coke jonathan: is my Hash of Int going to restrict things at key set time?
18:16 Coke for arrays, i can imagine folks xpecting a memory boost by using typed arrays, and I don't see it being easy.
18:17 jonathan Coke: Hash of Int means the values are Int not the keys.
18:17 jonathan Typed arrays - yes, they will expect that for native types, but we don't do those yet.
18:17 davidfetter joined #parrot
18:25 riffraff joined #parrot
18:29 rhr joined #parrot
18:29 ilbot2 joined #parrot
18:29 Topic for #parrotis now Parrot 0.9.0 "From Outer Space" Released | http://parrot.org/
18:30 dalek r35871 | kjs++ | trunk/compilers/imcc (2 files):
18:30 dalek : [imcc] ignore =cut if not in POD mode.
18:30 dalek : If requested, we can make this an error (however, anything that starts with a = at the start of a line opens POD, and =cut closes it, and in a way, you can view a '=cut' on its own as opening and closing, so I decided just to ignore for now.)
18:30 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35871
18:36 dalek r35872 | jonathan++ | trunk/languages/perl6/src (2 files):
18:36 dalek : [rakudo] Revert last patch - foo(::T) should act like a type capture after all, according to TimToady++. And then a Role hands back itself in response to .WHAT.
18:36 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35872
18:44 riffraff hi everyone
18:44 purl Howdy, riffraff, you fantastic person you.
18:44 moritz hi there
18:44 purl hola, moritz.
18:44 GeJ Good morning everyone
18:45 riffraff 19.45 here but good morning :)
18:46 moritz central european time
18:46 GeJ it's always 'morning' somewhere.
18:48 particle1 joined #parrot
18:49 Whiteknight good morning GeJ
18:50 GeJ Hello Whiteknight.
18:51 riffraff how can I access the top lexical space from PIR code? I'm trying to export some symbols into it so that they are already available in any program, but I'm failing miserably
18:52 moritz riffraff: I think pir includes work just like copy&paste including...
18:52 Whiteknight get_root_namespace
18:52 purl get_root_namespace is probably right
18:52 Whiteknight purl forget get_root_namespace
18:52 purl Whiteknight: I forgot get_root_namespace
18:52 Whiteknight you're damn right you did
18:53 jonathan riffraff: You'd probably have to walk down the scopes or something.
18:55 riffraff I tried with get_root namespace but it seemed not to work, I'll probably have to check again
18:56 riffraff jonathan, I'm not sure I understand: if i don't have a handle to top how can I walk down?
18:56 jonathan $P0 = new 'ParrotInterpreter'
18:56 jonathan $P0 = $P0['sub']
18:56 jonathan Then loop doing
18:56 jonathan $P0.'get_outer'()
18:56 jonathan Or something like that.
18:56 riffraff ah I see
18:57 riffraff thanks to both, I'll see what I can get
19:04 kj riffraff: I think you can get to a particular lexical scope. It's probably in the pdd about lexicals
19:09 riffraff I was reading it, but I only found ways to do it kind of as jonathan ws suggesting: get the current lex-foo and outers
19:09 riffraff I am fine implementing lookup, I just thought maybe there was a builtin way
19:10 kj I think I meant that as well, but just misphrased it :-P
19:11 riffraff oh, sorry :)
19:11 kj I blame it on being foreign :-)
19:13 riffraff that's my favourite excuse too
19:14 riffraff and i can say it as someone who went throu stuff  like "no mice on the pizza please" while in UK (mais is italian for sweetcorn)
19:15 kj actually, it's also the Dutch word for that!
19:15 kj eh, mais, that is, not mice :-)
19:15 riffraff eh I believe it's the native-american one, but I would not bet on it
19:16 jonathan Ah, the fun of living somewhere that the first language isn't your native one. :-)
19:17 NotFound I'd like to learn C with native teachers
19:17 riffraff :)
19:20 mberends riffraff: :-) (I'm Dutch too)
19:23 mberends a classic one: he always gets his sin (actually, his way)
19:25 moritz in German the word "Gift" means "poison", which can be rather confusing for people who confuse that ;-)
19:25 jonathan haha!
19:26 jonathan "Wholt Ihr ein Gift?" "Jaaaa!"
19:27 jonathan </pseudogerman>
19:28 moritz s/Wholt/Wollt/ and you're done ;-)
19:28 mberends new French speakers should not mix "poisson" and "poison" in a restaurant either...
19:29 GeJ "Wollen Sie" ?
19:29 jsut|work joined #parrot
19:29 GeJ I mean, if you have to give poison to someone, at least be polite to not make the target suspicious...
19:30 jonathan moritz: I've never actually tried to learn German. I just listened to a lot of Rammstein, and now live in walking distance of Austria. :-)
19:30 Zaba joined #parrot
19:30 moritz GeJ: ;)
19:31 moritz jonathan: Rammstein isn't a good example of eloquency ;-)
19:31 jonathan Coke: Unfortunately, your patch made a spec test fail.
19:32 * GeJ thinks of a Parrot Hackathon at the Wiesn! that could be fun... not productive, but definitely fun.
19:32 jonathan moritz: The words/phrases I learned from them have somehow not been so useful to me while in German-speaking countries, oddly enough. ;-)
19:33 moritz GeJ: nah, Wiesn is too crowded and big - I prefere the Bergkirchweih in Erlangen (which is incidently also my home city), the second or third largest Bierfest
19:37 Coke jonathan: which one?
19:38 Whiteknight jonathan, what are those things called where you take a subroutine reference but you fix one of the parameters?
19:38 particle1 Range.pick, i assume
19:38 Tene joined #parrot
19:39 particle Whiteknight: currying?
19:39 purl currying is the 'sub part'
19:39 Whiteknight Currying!
19:39 purl currying is the 'sub part'
19:39 Whiteknight thanks
19:39 Tene purl: forget currying
19:39 purl Tene: I forgot currying
19:40 Whiteknight There are so many instances where I know what a concept is, but don't know what it's called, and then I can't find it in the synopses
19:40 Whiteknight those are some daunting documents!
19:41 particle see 'spack' in #perl6 for a spec search utility
19:41 moritz Whiteknight: look for wrap() and .assuming
19:41 jonathan Coke: The Range.pick, broke an integration test. Don't worry, I'll look into it.
19:42 jonathan Later, if someone doesn't beat me to it.
19:42 moritz rakudo: sub f (:$a, :$b) { say "$a $b" }; my $x = &f.assuming(a=> 4); $x(b => 3);
19:42 polyglotbot OUTPUT[4 3␤]
19:42 jonathan (.pick can take some optional arguments, it seems)
19:42 Coke I figured it was the method I added. i was wondering which test file was failing.
19:42 jonathan Whiteknight: currying is the answer to your question, as others have pointed out.
19:42 moritz rakudo: say (1..3).pick(10, :repl)
19:42 polyglotbot OUTPUT[too many arguments passed (3) - 1 params expected␤current instr.: 'parrot;Range;pick' pc 7640 (src/classes/Range.pir:81)␤called from Sub '_block14' pc 110 (EVAL_18:49)␤called from Sub '!UNIT_START' pc 18178 (src/builtins/guts.pir:321)␤called from Sub 'parrot;PCT;HLLCompiler;eval' pc 950
19:42 polyglotbot ..(src/PCT/HLLCompiler.pir:527)␤called from Sub 'parro...
19:42 Coke in t/spec ?
19:43 jonathan t\spec\integration\99problems-21-to-30
19:43 Coke k.
19:43 jonathan Erugh. It's raining *hard* and I gotta go grab someone from the airport...
19:43 Coke do I run the .t  or the .rakudo ?
19:44 moritz Coke: you run 'make t/spec/....t'
19:44 jonathan Coke: The .rakudo
19:44 moritz Coke: that autogenerates the .rakudo file
19:44 jonathan moritz: OH RLY? I've been doing perl t\spec\fudge rakudo ... :-)
19:44 moritz jonathan: I don't know about that windows things...
19:45 jonathan moritz: It'll probably work on Windows.
19:45 jonathan I just didn't know you could get the makefile to do it.
19:45 jonathan (as in, that we'd got the makefile doing that)
19:45 moritz you can, and it's immensely helpful to me
19:46 jonathan It'll be rather nice for me too.
19:47 Coke what is :repl?
19:47 moritz with :repl, pick() is allowed to return an item more than once
19:48 Coke I could copy a bunch of code over from Any's .pick(); ah well. best thing is probably to comment out that method in Range for now.
19:48 moritz http://perlcabal.org/syn/S29.html#pick
19:48 Coke that page freezes my IE.  nifty.
19:49 moritz it contains too much javascript, if you ask me
19:50 Coke had to kill IE>
19:50 Coke perhaps I should go through the JS and see if can be cleaned up.
19:51 moritz http://svn.pugscode.org/pugs/do​cs/Perl6/Spec/S29-functions.pod then
19:51 Coke why does S29 say it's official 'even though it's in the pugs repo'. is that not the case for all S's now?
19:51 moritz yeah, that notice is outdate
19:52 particle just open the synopsis with 'This document is a draft.' like S19 does, and S26 iirc
19:53 moritz there's no S26, unless I write one :/
19:54 particle the pod spec isn't in the pugs repo?
19:55 moritz oh wait, I meant S24 ;-)
19:55 moritz S26 is... in Perl 6 POD
19:55 moritz and pretty much out of date
19:56 ask_ joined #parrot
19:58 braceta_ left #parrot
19:59 lu_zero hmm
20:00 TimToady phone
20:00 lu_zero make installable is supposed to work on 0.9.0 or still not?
20:01 moritz at least 'make install' didn't do any harm to my system
20:01 moritz it did create some files owned by root in the checkout though,which isn't 100% nice
20:02 lu_zero I'll try to see if I manage to craft an ebuild of it then
20:02 moritz cool
20:02 moritz the --prefix option to Configure.pl worked for me
20:03 lu_zero it doesn't seem to like distcc at all =_=
20:04 moritz how is that different form --cc?
20:04 lu_zero (abort in miniparrot after the second round of make archclean && make -j4 installable)
20:05 moritz don't combine --optimize with 64bit systems :(
20:05 lu_zero is it known to break?
20:05 moritz I wrote a ticket for that
20:05 lu_zero ppc and ppc64 had been tested?
20:05 moritz dunno, just i386 64bit for me
20:06 lu_zero on amd64 it built correctly
20:06 moritz with --optimize?
20:06 lu_zero (tried right now)
20:06 lu_zero just distcc seemed to cause some issues
20:06 moritz please write a bug report then
20:07 lu_zero moritz trying to reproduce it right now
20:07 moritz https://trac.parrot.org/parrot/newticket (you need to register :( )
20:07 lu_zero no more rt?
20:07 moritz we're moving away from RT :(
20:07 moritz at least for parrot
20:08 lu_zero to trac
20:08 moritz to trac.
20:08 moritz I didn't object because I had never used it before
20:09 lu_zero had been quite a while since I used trac
20:09 particle moritz: you don't need to register with rt, but you can't  submit bugs via the web. it's a wash, i think.
20:10 moritz particle: yes
20:13 lu_zero moritz ever happened to you http://rafb.net/p/PwT5yH61.html ?
20:14 moritz lu_zero: yes. That's why there's a 0.9.0.1-release.
20:14 lu_zero where?
20:14 moritz or at least chromatic said he'd do one
20:15 moritz lu_zero: http://perlcabal.org/svn/p​arrot/revision/?rev=35858 that patch fixes it
20:15 lu_zero cpan didn't show it
20:15 moritz seems like 0.9.0.1 isn't out yet
20:15 lu_zero I'll check tomorrow then ^^
20:16 chromatic The code on Parrot.org is fine.
20:18 jsut|work i just attempted to build svn on solaris and have failing tests, i should just run parrotbug right?
20:19 lu_zero chromatic parrot.org as in ftp://ftp.parrot.org/pub/parrot/rele​ases/devel/0.9.0/parrot-0.9.0.tar.gz ?
20:19 shorten lu_zero's url is at http://xrl.us/bedb83
20:19 moritz jsut|work: report them on https://trac.parrot.org/parrot/newticket please
20:19 jsut|work isn't that what parrotbug does?
20:20 moritz dunno
20:20 GeJ lu_zero: this one will work just fine.
20:20 Coke parrotbug still points to RT.
20:21 Coke you /can/ open tickets there, but we'd appreciate it if you could use trac.
20:21 chromatic Yes, lu_zero.  That one's fine.
20:21 jsut|work okey
20:22 Coke chromatic: by fine, do you mean that the 0.9.0 on parrot.org includes the pod fix?
20:22 particle yes, it does.
20:22 * purl stays quiet
20:23 rg moritz: priv?
20:23 purl priv is, like, openen different targets
20:23 Coke does it report as 0.9.0.1 ?
20:23 Coke (or did we re-tag the svn repo, or...
20:23 rg purl forget priv
20:23 purl rg: I forgot priv
20:24 jsut|work is there a document somewhere that says what i should include in this ticket?
20:24 lu_zero bbl
20:25 chromatic 0.9.0.1 only exists on the CPAN because you can't re-upload a new release.
20:27 Coke chromatic: is it identical to the original 0.9.0 except for the podfix? or does it report as 0.9.0.1 ?
20:28 chromatic It's identical except for the podfix, the tarball name, and the version in META.yml.
20:31 Coke danke.
20:37 mberends joined #parrot
20:38 jan joined #parrot
21:02 PacoLinux joined #parrot
21:09 particle1 joined #parrot
21:33 mberends joined #parrot
21:40 Coke Is there a compelling reason (aside from bug avoidance) to use a PMC vs. a PIR class other than ease of implementation?
21:41 Coke (e.g. I just switched TclArray to class from a PMC because it was much easier to implement a language feature in PIR)
21:41 chromatic In theory, PMCs in C are faster.
21:41 chromatic I'm not sure that's true.
21:41 Coke chromatic: given the heavy string manipulation and the fact that I have to cross the PBC/C boundary...
21:41 chromatic It could be a wash.
21:41 Coke of course, if I had a profiler, i could test that.
21:42 Coke so I'm tempted to just optimize for ease of implementation for now.
21:42 chromatic The ball's in pmichaud and rdice's court on that now.
21:42 Coke once we have a profiler, I can switch back.
21:42 NotFound If the C mainly does string to cstring covnersions, string functions and interacting OS, it can be lot slower than pir, I guess.
21:43 chromatic True.
21:43 Coke for example:
21:43 Coke http://code.google.com/p/partcl/sourc​e/browse/trunk/src/pmc/tcllist.pmc#46
21:43 shorten Coke's url is at http://xrl.us/bedchw
21:44 Coke which is invoking via Parrot_PCCINVOKE several dozen times...
21:44 chromatic Good news then!
21:44 Coke what's that?
21:44 chromatic the PIR version will be faster.
21:44 Coke chromatic: want to steal this for parrot? :
21:44 Coke http://code.google.com/p/partcl/source​/browse/trunk/src/pmc/tcllist.pmc#278
21:44 shorten Coke's url is at http://xrl.us/bedch2
21:45 Coke or anyone, really.
21:48 NotFound I'm guessing that a prebuilt table of one char length strings with the 0-127 codepoints may speedup and simplify a lot of parrot code, specially filename related ones.
21:49 Coke I'd bounce that off lathos. =-)
21:49 Coke I could probably make use of it in tcl, even.
21:58 Whiteknight joined #parrot
22:10 confound_ joined #parrot
22:13 cognominal joined #parrot
22:44 dalek r35873 | kjs++ | trunk/compilers/pirc/src (2 files):
22:44 dalek : [pirc] ignore stand-alone =cuts.
22:44 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35873
22:46 kj joined #parrot
23:06 TiMBuS joined #parrot
23:08 dalek r35874 | kjs++ | trunk/compilers/pirc/src:
23:08 dalek : [pirc] fix printing of subroutine flags.
23:08 dalek review: http://www.parrotvm.org/svn​/parrot/revision?rev=35874
23:09 * NotFound ranting in trac about blindly 'skip' problems.
23:11 NotFound Did we need a 'make true_test' that does not hide real problems to be used for developers, letting the normal 'make test' for the PR department?
23:13 chromatic We have a TODO/SKIP review due soon.
23:15 NotFound I'm just upset seeing one thing I've take for granted that worked skipped without any other info that 'causes segfault'
23:16 chromatic Yeah, those shouldn't be skipped.
23:16 chromatic skip is for "We know this won't work on this platform.  Ever."
23:16 NotFound chromatic: that is a proble with pir based tests
23:16 chromatic TODO is for "For some reason, this isn't working yet."
23:17 NotFound If some test segfault, the entire .t broke.
23:17 chromatic Hm, true.
23:22 NotFound I don't like the politic of 'Skip all that fails to have a clean release'. This is not clean at all.
23:23 chromatic If you find that, then feel free to revert it.
23:23 chromatic As I've always suggested the policy should be, if we have known failures, they need tickets and they need to be marked TODO.
23:23 NotFound Revert the politic? svn changeminds ?
23:23 NotFound ;)
23:24 chromatic Revert the commit.
23:24 chromatic Or comment on the diff, when it comes through the mailing list.
23:27 NotFound Well, i'll stop ranting an start looking for the problem.
23:30 particle joined #parrot
23:32 Whiteknight what are you looking for
23:32 Whiteknight NotFound, the subclassed exceptionhandler bug?
23:34 NotFound Whiteknight: the one with a can_handle method
23:34 Whiteknight ok
23:34 NotFound Funny, it does not segfault to me.
23:35 particle Whiteknight: what are you working on?
23:35 particle if you have time, there's a rescheduled task with your name on it at https://trac.parrot.org/parrot/wiki/ParrotRoadmap
23:38 NotFound A better look at the thing: the skipped test is the one without can_handle method. The other is not skiped nor todoes and does not fault, but the trac ticket says this fails.
23:39 kj jonathan: ping
23:41 kj anybody around with parrot calling convention implementations know-how?
23:50 Whiteknight me? right now? I'm trying to disassemble my buddys laptop because he busted the power jack on it
23:50 Whiteknight particle: what do you want me to work on?
23:51 Whiteknight kj: I've got said no-how. What do you need?
23:52 kj Whiteknight: I wonder where in Parrot the auto-insertion of the invocant argument and parameter is done for method calls
23:52 kj is IMCC doing that, or is it done in the PCC implementation, in inter_call
23:53 Limbic_Region joined #parrot

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

Parrot | source cross referenced