Camelia, the Perl 6 bug

IRC log for #parrot, 2008-11-17

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:04 dalek r32739 | chromatic++ | trunk:
00:04 dalek : [pirc] Made the pirc test globbing more portable (it didn't work for kjs on
00:04 dalek : Windows previously).
00:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32739
00:10 AndyA joined #parrot
00:12 dalek r32740 | kjs++ | trunk:
00:12 dalek : [pirc] remove old test file and update MANIFEST.
00:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32740
00:25 dalek r32741 | kjs++ | trunk:
00:25 dalek : [pirc] rename .pir files to .t files. update MANIFEST. Tests should be properly finished.
00:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32741
00:44 Tene msg pmichaud Actually, your example DID work in trunk after I took out the 'stop disabling exception handlers' code.
00:44 purl Message for pmichaud stored.
00:48 Tene msg pmichaud http://gist.github.com/25616 is your example and the patch that makes it work.
00:48 purl Message for pmichaud stored.
00:53 Tene .... and the straightforward 'throw and resume several times in a row' case works just fine too.
00:53 Tene Where's the ticket with the failing example?
00:54 dalek r32742 | jonathan++ | trunk:
00:54 dalek : [core] copy op should maintain properties. We really could use a more efficient way to do this, but this is a sure-fire way to work.
00:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32742
00:56 Tene Okay, it doesn't work resuming twice to the inside of a sub called after we've pushed the eh.
01:10 klapperl joined #parrot
01:54 jimmy joined #parrot
01:56 s1n joined #parrot
02:11 jimmy hello cotto?
02:30 allison joined #parrot
02:32 chromatic joined #parrot
02:46 klapperl joined #parrot
02:46 bacek joined #parrot
02:47 dalek r32743 | chromatic++ | trunk:
02:47 dalek : [dotnet] Fixed unsigned char bug; initialized potential INTVAL return values to
02:47 dalek : 0 (RT #59884, Jarrod).
02:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32743
02:56 jimmy cotto?
02:57 Infinoid ECOTTOTIMEOUT
02:57 particle joined #parrot
03:02 dalek r32744 | chromatic++ | trunk:
03:02 dalek : [lib] Storable dependency bumped to 2.18 (see RT #59600 and RT #59660).
03:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32744
03:06 Tene pmichaud, chromatic: The resumable exceptions problem is a refcounting issue with contexts.  I have a patch that fixes it.
03:06 particle tene: are you home already?
03:06 Tene Not sure how right it is.
03:06 Tene The plane just touched down.
03:06 particle nice
03:07 stockwellb joined #parrot
03:07 s1n pmichaud: ping
03:07 Tene It's adding CONTEXT(interp)->refcount++ to throw_p
03:08 Tene oslt
03:08 Tene I'll commit when I get home.
03:08 Tene I also have a writeup for parrotblog
03:09 particle on what topic?
03:10 * chromatic hopes it's a treatise on the care and feeding of ducks.
03:15 Tene A writeup on finding and fixing this bug.
03:18 chromatic Better in some ways!
03:21 Infinoid Hot Ref Counting Action.
03:25 dalek r32745 | chromatic++ | trunk:
03:25 dalek : [JIT] Tidied some code in the x86 JIT; no functional changes.
03:25 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32745
03:26 Tene chromatic: is incrementing the context refcount more sane in 'op throw' or new_ret_continuation_pmc (whatever the throw op calls)?
03:26 Psyche^ joined #parrot
03:29 klapperl_ joined #parrot
03:29 dmknopp joined #parrot
03:33 chromatic new_ret_continuation_pmc looked right to me, but we'd have to remember to decrement it if we set its from_ctx elsewhere.
03:33 chromatic op throw looked more likely to be correct everywhere.
03:41 chromatic Or at least not to make anything else incorrect.
03:43 dalek r32746 | chromatic++ | trunk:
03:43 dalek : [PMC] Tidied Integer PMC.  No functional changes.
03:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32746
03:46 stockwellb Is it good form to respond via email directly to a committer of a patch to thank them?
03:51 chromatic It's not necessary, really.
03:52 stockwellb Good, I haven't done it so far, I don't like the email clutter that it entails, but I thought I'd check. After all, check a noobies code can't be all that much fun.
03:53 chromatic As long as you keep the patches small and self-contained, it's not bad at all.
03:53 dalek r32747 | chromatic++ | trunk:
03:53 dalek : [PMC] Made Integer PMC increment and decrement promote to BigInt when
03:53 dalek : necessary.
03:53 dalek : This is going to be tricky to test, and I'm in an airport, so anyone who wants
03:53 dalek : cheap and easy karma should patch t/pmc/integer.t to gain effusive praise.
03:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32747
03:54 stockwellb Right now, one patch per test file is all I'm doing.
03:54 chromatic That's perfect.
03:55 stockwellb I've done 4 so far, pretty cool.
03:55 stockwellb Got time for a testing question chromatic?
03:56 chromatic Of course.
03:56 purl Indubitably.
03:57 stockwellb In the Perl tests there is *Foo* all over the place with no clashes. In PIR it's all in one namespace. This is for various registrations of classes and what not. Should I come up with new class names like *Bar* and *Baz* or namespace each test?
03:58 chromatic That's a good question.  It depends.  If you can re-use a declaration sensibly, without too much effort, feel free.  If not, create new namespaces or classes as you see fit.
04:00 stockwellb It was just easier this time to sequence through new class names, but It stuck in my head as a best practice kind of question. If you reuse the class then you eye has to travel outside the sub your in to see whats going on.
04:00 stockwellb namespaces seem to add more information without really relating to the test.
04:00 chromatic Yes.  Locality of reference helps.
04:01 stockwellb clutter if you will.
04:01 cotto How long has storable 2.18 been a requirement?
04:02 adu joined #parrot
04:02 chromatic 20 minutes.
04:02 purl rumour has it 20 minutes is too fuckin long
04:02 chromatic Maybe 30.
04:02 adu hi
04:03 stockwellb purl: you are a potty mouth!
04:03 purl ...but purl is a dweeb...
04:04 * adu <3 Parrot
04:04 adu i only with there were more compilers
04:05 cotto adu, you can always write one
04:06 adu I want to write one for Haskell, even though it's type system is slightly incompatible
04:06 chromatic It doesn't have to be incompatible.
04:07 adu chromatic: what do you mean?
04:08 cotto bah.  looks like time to upgrade from Gutsy.
04:08 chromatic Haskell doesn't do type checking at runtime; you can do it all at compile time.
04:08 chromatic Parrot doesn't preclude typeful graph reduction at compile time.
04:08 stockwellb cotto: thanks for the commits!
04:09 dalek r32748 | chromatic++ | trunk:
04:09 dalek : [src] Cleaned up several warnings; no functional changes.
04:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32748
04:09 adu i suppose, but what about all those PMC methods that require coersion?
04:09 cotto stockwellb, thanks for the patches
04:09 adu so all the compile-time type info would have to be kept at runtime, basically
04:10 chromatic Maybe.  I haven't thought about that.
04:10 * stockwellb feels so small when the compiler folks talk.
04:10 chromatic Infinoid, r32748 *may* go weird on 64-bit platforms; it's worth testing with an eye on that.
04:10 adu i'm not "compiler folks"
04:10 adu just a guy
04:10 stockwellb just a man
04:11 stockwellb I mean a dragon man
04:11 stockwellb I mean a dragon
04:11 chromatic adu, stockwellb, the first and last computer class I took was in 1984, and it was Programming Apple ][ BASIC.
04:12 stockwellb You folks are still very smart. Me like to spong it in.
04:12 adu chromatic: heh, that reminds me, the last computer class I took was intro to programming (in QBASIC) and intro to C (in which I had a heated discussion with the teacher about "for" loops)
04:13 chromatic I don't remember much BASIC, but I met Tom Kurtz the other day.
04:13 chromatic Someone on Windows should check RT #60584.
04:14 adu chromatic: his website is nice
04:14 adu how does the "native exec" feature work?
04:15 adu does it do static linking or dynamic linking?
04:15 dalek r32749 | allison++ | pdd22io:
04:15 dalek : [pdd22io] Un-todo test to set and retrieve buffer_type.
04:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32749
04:18 Infinoid oh boy oh boy, more 64-bit-buggy code
04:18 dalek r32750 | allison++ | pdd22io:
04:18 dalek : [pdd22io] Implement buffer_type accessor method.
04:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32750
04:18 adu i wish I could experience 64bit
04:19 Infinoid its the same thing as 32 bit, it just uses twice as much memory to run the same apps.
04:20 dalek r32751 | allison++ | pdd22io:
04:20 dalek : [pdd22io] Clean out arbitrary integer values for 'buffer_type' accessor.
04:20 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32751
04:20 Infinoid the extra registers make some things faster.  on the other hand, the larger code size means prefetching code into cache takes longer.  *shrug*
04:23 Infinoid and you occasionally come across bugs that make a program try to allocate 140TB of memory. :)
04:25 stockwellb 140TB of memory is sortof *Large*!
04:25 cotto large is a relative term
04:25 Infinoid its what I got this morning when the high 32 bits of a size_t were uninitialized
04:25 stockwellb exactly, cotto! From where I'm sitting 140TB is pretty big.
04:26 Infinoid here too.  it does make the bugs obvious tho :)
04:28 bacek joined #parrot
04:31 dalek r32752 | dmknopp++ | trunk:
04:31 dalek : [Cardinal] Initial support for Procs, Continuations, and mucking with the file system
04:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32752
04:33 dalek r32753 | dmknopp++ | trunk:
04:33 dalek : [Cardinal] Add new classes to make file
04:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32753
04:41 Infinoid msg chromatic r32748 tests fine on linux/amd64... I did notice in your patch that the pf->header->floattype condition at src/packfile/pf_items.c:583 got reversed.  was that intentional?  (since it didn't seem to make a difference, I guess this code is poorly tested.)
04:41 purl Message for chromatic stored.
04:43 dalek r32754 | dmknopp++ | trunk:
04:43 dalek : [Cardinal] Added tests for Procs, Continuations, and file system stuff. More work and tests are needed for these new classes.
04:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32754
04:49 dalek r32755 | dmknopp++ | trunk:
04:49 dalek : [Cardinal] Fixed infix:-= . Plus some other addition needed for File and Continuation to work.
04:49 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32755
04:50 dmknopp All things regex still seem to be broken :-/
04:50 dmknopp Im not sure what or when it happened. I think it happened like mid Oct
04:50 dmknopp regexs in Cardinal that is...
04:52 s1n msg pmichaud just sent you an email, drop me a line back
04:52 purl Message for pmichaud stored.
04:54 dalek r32756 | tene++ | trunk:
04:54 dalek : Possibly fix a bug with contexts being freed too early.
04:54 dalek : Resuming from an exception works reliably now.
04:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32756
04:55 Tene dmknopp: I'll try to look at that tonight.
04:56 dalek r32757 | infinoid++ | trunk:
04:56 dalek : [t] Fix an incompatibility with t/perl/Parrot_Test.t and Test::Builder v0.84.
04:56 dalek : This specific version of Test::Builder has slightly different output to
04:56 dalek : stderr - the indentation of the "Expected:" line is missing a "# " compared
04:56 dalek : to other tested versions (0.74 and 0.86).
04:56 dalek : Skip the stderr match for this particular version of Test::Builder.
04:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32757
04:56 Tene ... oops, I lied in that commit message.
04:57 dmknopp thx stepehen
04:57 dmknopp let me know if i messed anything up during the committs
04:57 dmknopp i try not to committ so many files at once, i hope i didnt miss anything
04:58 dmknopp gnight all
04:58 dmknopp left #parrot
05:01 dalek r32758 | infinoid++ | trunk:
05:01 dalek : [codingstd] wrap lines in pdd19_pir.pod to make t/codingstd/pdd_format.t happy.
05:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32758
05:04 dalek r32759 | infinoid++ | trunk:
05:04 dalek : [codingstd] Fix up trailing whitespace and svn metadata to pass "make codetest".
05:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32759
05:05 Infinoid There, see?  You guys split codingstd/distro stuff into its own "make codetest" target, and all of a sudden, we start falling behind on that stuff. :)
05:13 Tene purl: allison?
05:13 purl allison is Allison Randal <mailto:allison@perl.org>
05:13 gmansi joined #parrot
05:14 Tene Okay, does t/pmc/threads.t misbehave for anybody else?
05:15 Tene On test 13 it starts eating a ton of ram and then my machine starts swapping to hell and back if I don't catch it fast enough to kill it.
05:18 * Infinoid just went into swap hell somewhere in t/pmc/
05:18 Infinoid so this is sounding familiar.
05:18 Tene Infinoid: t/pmc/threads.t perhaps? Just a guess...
05:19 Infinoid not sure.  TEST_JOBS was set to 4, so it wasn't clear which test was the culprit
05:19 * Infinoid runs it with prove
05:19 Infinoid yep, that's taking lots of memory
05:19 Tene That test just swapped me to hell.  Test 13 specifically.
05:20 Infinoid t/pmc/threads....12/20 ^C
05:20 Tene I need to check if I caused it with my last commit.
05:20 Tene Shouldn't be related, though.
05:20 Tene I kinda, uh, forgot to run 'make test'
05:21 Tene A little.
05:21 Infinoid contexts are being a real pain today
05:21 Tene I fixed a context bug with exceptions!
05:21 Infinoid When in doubt, kill it gloriously.
05:22 Tene ... Oh, I forgot to update my commit message before pushing the commit.
05:22 Tene Very nice.
05:22 Tene ... yeah, I caused it.  It works fine with the commit before mine.
05:23 Infinoid ok, I'll stop my bisect
05:23 Tene ... no, it works fine with it after a realclean.
05:23 Tene Nevermind, I guess?
05:23 * Infinoid retracts his above statement
05:24 Infinoid I did a realclean before my build... always do
05:24 Infinoid is it just random?
05:25 Tene Dunno... lemme try running it repeatedly and see what happens.
05:25 Infinoid r32748 passed t/pmc/threads.t 5 times in a row
05:27 Infinoid so, we have parallel make, we have parallel test... what about Configure.pl -j ?
05:27 Tene try 32756
05:30 Infinoid r32755 passed 5 times, I'll try your rev now
05:31 adu joined #parrot
05:33 Infinoid r32756 fails 5 times in a row.
05:33 Tene *sigh*
05:34 * Infinoid refuses to go anywhere near refcounting... sorry
05:34 Tene It's not the refcounting part, I'm pretty sure.
05:35 Tene It's the other bit I accidentally commited along with it.
05:35 * Infinoid reverts the src/pmc/exceptionhandler.pmc portion and tries it
05:35 dalek r32760 | tene++ | trunk:
05:35 dalek : [cardinal]: Un-break regexes from the NameSpace updates from a while back.
05:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32760
05:35 Tene Thank you.  That's exactly what I was about to try.
05:35 Infinoid still fails.
05:36 * Infinoid tries reverting src/scheduler.c instead
05:37 Infinoid either it needs a realclean, or neither of those had an effect
05:38 Tene Null PMC access in get_integer_keyed_str?!
05:38 Tene On that test.
05:38 * Tene realclean.
05:38 purl well, realclean is sometimes needed because of parrot's bad dependency checking.
05:38 Infinoid must need a realclean.  reverting any of those 3 files individually and then incremental rebuilding has no effect
05:40 klapperl joined #parrot
05:42 Infinoid hmm.  there's nothing really stopping us from building ccache-like functionality into pmc2c.pl
05:42 nopaste "stockwellb" at 70.160.222.145 pasted "why does $P2 have an empty typeof?" (9 lines) at http://nopaste.snit.ch/14609
05:43 stockwellb If someone has a second, I've got a question that nopaste.
05:44 bacek_ joined #parrot
05:44 stockwellb I think it might be an anonymous class, but I'm not sure.
05:45 Infinoid stockwellb: did you mean: $P2 = new $P1  ?
05:45 stockwellb No.
05:45 Infinoid $P1 is the type, $P0 is an instance of the Class class
05:45 Infinoid ...whatever that is.
05:46 Infinoid ok.  maybe the anonymous class needs a "typeof" method declared, to return something valid there?  I dunno.
05:46 stockwellb I'm running across these concepts in subclass.t and I don't understand them.
05:47 Infinoid (I'm not an expert)
05:50 stockwellb You can create an instance from a <STRING> or a <PMC>. In this case the later has no typeof. Why is this? That's my quandry here.
05:50 davidfetter joined #parrot
05:51 mberends joined #parrot
05:56 stockwellb Infact $P2 isa "Class".
05:56 dalek r32761 | tene++ | trunk:
05:56 dalek : Revert the 'stop disabling exception handlers' bit I accidentally committed earlier.
05:57 dalek : It needs to be done eventually, but it currently causes test 13 in t/pmc/threads.t to explode.
05:57 dalek : That's the only parrot test that seems to fail for me with this patch, though.
05:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32761
05:57 Infinoid Object.get_class is interesting.  it looks for a vtable override called "get_class".  if it doesn't find it, it calls Parrot_run_meth_fromc_args()
05:58 Infinoid ... if it *does* find it, as it does in stockwellb's test case... it doesn't seem to call anything at all.
05:59 Infinoid am I reading that right?  src/pmc/object.pmc line 444
05:59 Infinoid if it finds the method, it ignores it
05:59 Infinoid oops, no, I read it wrong.
06:01 stockwellb I can't read it at all :( just not a c guy.
06:01 stockwellb strike that, I can read it. It just doesn't make much sense to me.
06:01 Infinoid funny, C is one of the only layers of parrot I *do* understand.
06:02 stockwellb So many layers huh.
06:03 stockwellb Well it's bed time 1am here. I'll bring this question up another day.
06:03 Infinoid wait
06:03 stockwellb ok.
06:03 Infinoid if you run parrot with -t5, it looks to me like $P0 is actually set to PMCNULL
06:04 Infinoid either that, or the anonymous class just calls itself "" by default.  still not sure.
06:04 Infinoid anyway, goodnight
06:04 stockwellb I didn't know about the -t5. That rocks!!
06:05 Infinoid the numeric bits are documented in ./parrot --help-debug
06:05 stockwellb nice.
06:05 jimmy i am not c guy too. because of struct.
06:06 stockwellb Infinoid: thanks and goodnight!
06:06 Infinoid sorry I wasn't more help... bedtime here too
06:06 Infinoid good night
06:06 purl sleep fast, sleep tight, don't let the bed bugs bite
06:06 stockwellb Infinoid: you were tons of help, because I learned something new!
06:08 stockwellb left #parrot
06:08 adu Infinoid: so tell me about the C layer
06:09 Infinoid adu: what about it?  it's big?  it's complicated?
06:10 adu Infinoid: oh, were you sleeping?
06:10 adu how do I find out how to make parrot functions in C?
06:12 cotto adu, what do you want to do in c?
06:12 Infinoid if by "parrot functions" you mean "PIR ops", those are defined in src/ops/
06:12 Infinoid if you mean "objects and methods you can call", those are defined in src/pmc/ and documented by pdd17
06:12 adu cotto: i dunno, just trying to understand
06:12 adu I don't know parrot well enough to know what to ask
06:13 adu i'll check out pdd17
06:14 Infinoid http://search.cpan.org/dist/parrot/docs/intro.pod might be a nice overview to start out with
06:16 jimmy docs dir may be a nice docmentation. I started from there and README files.
06:19 adu jimmy:  I've read through some of the pods
06:19 adu but it all seems so sparse
06:19 adu like parrotbyte.pod doesn't list any bytecodes
06:20 adu that really confused me
06:22 jimmy and
06:22 adu and maybe I could
06:22 adu help
06:23 jimmy cd docs and run `make html` if there is makefile
06:23 Infinoid parrotbypte.pod is semi-outdated, superceded by PDD13
06:23 adu so really I should be reading the pdds
06:23 Infinoid docs/pdds/pdd13_bytecode.pod
06:23 jimmy that will creat much more documentation
06:23 Infinoid those are the specs... PDD = Parrot Design Document
06:23 adu ok
06:24 Infinoid as for actual bytecodes... thre are more than a thousand ops.  the list is created automatically, see include/parrot/oplib/ops.h
06:24 jimmy perl Configure.pl will create that makefile under docs dir.
06:24 Infinoid whenever we change the list of ops, we bump the bytecode version to avoid mismatches
06:24 adu book/ch_09... is also quite nice :)
06:25 Infinoid ok, sleep time now, bye :)
06:25 adu bye
06:25 jimmy make htmll and bulld more documentation
06:25 jimmy that maybe helps you.
06:26 jimmy s/bulld/build/
06:26 adu thanks
06:27 johbar joined #parrot
06:29 mj41__ joined #parrot
07:09 klapperl_ joined #parrot
07:30 uniejo joined #parrot
07:42 UltraDM joined #parrot
07:51 samlh joined #parrot
07:51 kj joined #parrot
07:53 bacek_ rakudo: say (1,2).WHAT
07:53 polyglotbot OUTPUT[List␤]
07:53 bacek_ rakudo: say @a=(1,2); say @a.WHAT
07:53 polyglotbot OUTPUT[No handler to delete.␤current instr.: 'parrot;PAST;Compiler;as_post' pc 6052 (src/PAST/Compiler.pir:1651)␤called from Sub 'parrot;PAST;Compiler;post_children' pc 1779 (src/PAST/Compiler.pir:367)␤called from Sub 'parrot;PAST;Compiler;call' pc 3191 (src/PAST/Compiler.pir:841)␤called from Sub
07:53 polyglotbot ..'parrot;PAST;Compiler;post_children' pc 1779 (src...
07:54 bacek_ rakudo: my @a=(1,2); say @a.WHAT
07:54 polyglotbot OUTPUT[Array␤]
07:54 bacek_ why that?
08:00 cotto joined #parrot
08:00 elmex joined #parrot
08:10 chromatic joined #parrot
08:10 konstantin joined #parrot
08:14 bacek joined #parrot
08:15 Psyche^ joined #parrot
08:21 iblechbot joined #parrot
08:22 chromatic msg Infinoid, I did invert the conditions but I also inverted the behaviors.  The ->floattype flag is effectively a boolean, so changing the comparisons without rearranging made the code confusing.
08:22 purl Sorry, I've never seen infinoid, before.
08:25 chromatic Okay, it's after midnight and I was on an airplane, but that boggles my mind.
08:27 cotto seen infiniod
08:27 purl I haven't seen 'infiniod', cotto
08:28 cotto seen purl--
08:28 purl I haven't seen 'purl--', cotto
08:28 cotto seen infinoid
08:28 purl infinoid was last seen on #parrot 2 hours, 3 minutes and 13 seconds ago, saying: ok, sleep time now, bye :)
08:29 barney joined #parrot
08:37 jimmy hello cotto?
08:39 cotto hi jimmy
08:39 jimmy and seems that you can test it? http://rt.perl.org/rt3/Tic​ket/Display.html?id=60584
08:40 jimmy the day before yesterday.
08:41 cotto sorry, I don't have access to a windows machine
08:43 jimmy ok
08:51 cotto barney, were you at pds?
08:52 apeiron joined #parrot
08:53 jimmy pds?
08:53 purl pds is Parrot Developer Summit
08:54 cotto it was a gathering of Parrot hackers to plan out Parrot's future roadmap
08:55 jimmy really? can i take a look at it?
08:55 cotto The roadmap is https://trac.parrot.org/parrot/wiki/ParrotRoadmap
08:56 jimmy wow, trac!! i thought there is no trac on perl.org or parrot.org
08:56 cotto it's very new
08:58 jimmy i think it is private now
09:04 gaz joined #parrot
09:16 barney cotto: Nope. Too far from Germany
09:25 cotto I thought so.  I wonder how Pipp ended up on the roadmap as being out-of-tree by Parrot'w 1.0 release.
09:28 barney That's the general plan. Major languages should be out of tree.
09:29 cotto That makes sense.
09:29 barney In a perfect world, we should draft a Pipp roadmap.
09:30 cotto So you're saying I should do something with pipp.org? ;)
09:30 cotto where such a roadmap would live
09:33 barney That would be secondary. Wiki at perlfoundation.org is good enough for now.
09:34 cotto Are you thinking time-based or milestone-based?
09:36 barney More like: What needs to be be working before we can ask developers: Please implement those functions
09:36 barney I still think that HLL-Interop is a prerequisite for that
09:38 cotto I thought it was decided that the main HLL interop mechanism was VTABLE functions (at least on a PMC level).
09:40 TiMBuS joined #parrot
09:42 barney I'm not sure whether that works in practice.
09:43 barney It would be surprising to suddenly find Perl 6 Strings in a PHP runtime
09:45 cotto I'd assume that if some PHP code asked for a string from Perl6, it'd just use VTABLE_get_string (plus boxing) and get something it knew how to deal with.
09:47 jimmy i love pipp
09:47 jimmy pipp.org is mapped to perlfoundation.org wiki
09:47 cotto It needs love.
09:48 barney jimmy++  Does it run on windows?
09:48 cotto yes, but that's temporary
09:48 jimmy barney: what?
09:48 barney Pipp
09:48 jimmy pipp on parrot?
09:49 jimmy yes, it runs
09:49 barney Yes. I tested Pipp only under Linux, never under Windows
09:49 jimmy sometimes it should be written cross platform.
09:49 jimmy such as basename
09:49 barney Can you do 'make smolder_test' ?
09:49 jimmy because of '/' and '\'
09:50 jimmy yes
09:52 jimmy some functions are binary-safe. but i don't know what it is meaning
09:52 lu_zero anybody willing to cluebat me about parrot build system/makefiles?
09:52 lu_zero currently parrot doesn't build with make -jN (N>1) and I'd like to fix it
09:53 barney jimmy: no idea
09:54 cotto lu_zero, it should work.  Can you nopaste how it fails?
09:55 lu_zero basically it needs parrot_config.o and install_config.o in different parts of make installable
09:57 jimmy barney: i don't know whether pipp run windows completely .
09:58 barney Can you nopaste the output from 'make test' ?
09:59 lu_zero let me see
10:00 tomyan joined #parrot
10:01 konstantin joined #parrot
10:02 lu_zero make -j16 test seems working so far
10:02 lu_zero make -j16 installable is the one failing
10:07 cotto how reliably?
10:07 lu_zero http://rafb.net/p/xTAi1n79.html
10:07 lu_zero cotto always
10:07 cotto that's good
10:08 cotto Do you know enough about makefiles to know how to fix it?
10:09 lu_zero cotto Makefile yes
10:09 lu_zero how they got generated no
10:10 jimmy can 'TAP/Harness/Archive.pm' be added default?
10:10 cotto config/gen/makefiles/root.in is the template
10:11 jimmy everytime the first make test ,needs this file.
10:12 AndyA joined #parrot
10:12 apeiron joined #parrot
10:12 lu_zero I'll look at it, thank you
10:12 lu_zero btw
10:12 barney jimmy: Can't you install it?  With strawberry Perl you should have the 'cpan' command
10:13 lu_zero there is another issue about the build system not abiding to libdir settings
10:13 jimmy yes ,sometimes it is not used.
10:13 jimmy sorry ,usefull
10:13 barney It's a goal to keep CPAN modules out of the Parrot repository
10:14 jimmy ok
10:14 jimmy i think so now.
10:14 nopaste "cotto" at 96.26.202.243 pasted "possible pipp grammar refactor" (7 lines) at http://nopaste.snit.ch/14610
10:15 cotto barney, what do you think of that as a change to pipp's grammar?
10:16 cotto I'm trying to make the grammar deal gracefully with code like <?php echo "foo";?> bar <script language="php>echo "baz";</script>
10:16 jimmy i will nopaste 'smolder_test' result.
10:17 jimmy on windows.
10:17 cotto without a special case for each combination of tags
10:18 cotto lu_zero, feel free to post a bug report about the make installable bug.  It's easy to reproduce, so someone else should be able to fix it if you can't.
10:18 lu_zero cotto I'll post it with a patch for it and then check if the libdir stuff is as simple
10:19 jimmy barney:http://smolder.plusthree.com/app/p​ublic_projects/report_details/8235
10:21 cotto lu_zero, does your patch add a dependency to $(INSTALLABLEPBCMERGE) ?
10:21 barney jimmy: thanks. only a few platform dependencies
10:22 barney I'll add a verbose option to t/harness, so that the failures can be more easily explored
10:23 jimmy aye
10:23 lu_zero cotto in one case
10:24 cotto yeah.  it looks like that's part of the fix
10:24 lu_zero another adds to parrot_config$(O) (I wonder if is correct)
10:25 lu_zero should the the debug use that as well?
10:25 lu_zero debugger
10:25 purl debugger is probably the better approach then since you can disect whos calling whom and how or perl's electronic teddy bear or 'perl -d' or a good way to see if anyone has done it already or http://dev.catalyst.perl.org/wiki/DebugSample or avalible with cperl-mode syntax highlight/editing goodness with emacs+gud+perldb or *really* unhappy to be inside init_declare
10:26 lu_zero worked
10:26 lu_zero time to bake a bugreport
10:26 cotto I can commit now if you nopaste a patch.
10:27 barney cotto: Is the case with a missing end-tag handled ?
10:28 cotto I could define <tag1_close> to be either the closing tag or eof.
10:30 jimmy and smolder_test on parrot on windows :   http://smolder.plusthree.com/app/p​ublic_projects/report_details/8237
10:37 barney cotto: Isn't <inline_sea> matching up to the end of file and then backtracking to the last start tag ?
10:38 cotto in the current grammar?
10:38 cotto nm
10:39 barney in your paste
10:39 cotto it could easily be made minimal
10:39 dalek r32762 | bernhard++ | trunk:
10:39 dalek : [Pipp] Update SYNOPSIS of t/harness and minor beautification
10:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32762
10:39 cotto that's just the basic idea
10:40 barney cotto: When test are passing, then submit it
10:40 cotto good enough for me
10:41 cotto just checking for obvious flaws
10:42 jimmy i don't know why there are 3 variant of pipp and the difference.
10:43 barney cotto: Requiring the style of the start tag after <SEA_empty_allowed> is definitly a bug, in the current grammar
10:43 barney jimmy: That's just my playground.
10:44 barney I wanted to compare different PHP parsers. PCT, PHP and Antlr3
10:46 jimmy i don't love antlr3.
10:46 jimmy :(
10:49 barney Why. Antlr3 is very powerful and I like the idea that it generates code for different languages.
10:50 barney However I've only used it for playing with Pipp
10:50 jimmy because of java
10:52 cotto java?
10:52 purl GIVE JAVA NO BOTHA </jabba>
10:52 barney jimmy: yes. that's a point
10:52 cotto barney, did you see the video by some company implementing PHP on the jvm?
10:53 cotto it's a little depressing, but informative
10:53 cotto http://www.infoq.com/prese​ntations/nicholson-php-jvm
10:54 jimmy that needs a java support and sun support
10:54 lu_zero <cotto> I can commit now if you nopaste a patch.
10:55 cotto the offer is still good ;)
10:55 lu_zero http://rafb.net/p/YgZ8EA94.html
10:55 lu_zero just read now...
10:58 cotto testing...
10:58 purl i heard testing was Don't use #perl for testing! or experiri vovere est or make tests pass for existing features, fail for unimplemented features and skip for wishlist features
10:59 lu_zero cotto btw shouldn't the debugger use the same config as the other installable targets?
10:59 cotto lu_zero, how would you like to be credited?
11:00 lu_zero Luca Barbato <lu_zero@gentoo.org>
11:00 cotto as in parrot_config.o?
11:01 lu_zero as in install_config.o
11:01 lu_zero if I understood correctly parrot_config has the paths relative to builddir o srcdir
11:01 lu_zero install_config has the paths relative to the destdir
11:03 cotto that's makes sense, but I don't know for sure
11:03 dalek r32763 | bernhard++ | trunk:
11:03 dalek : [Pipp] add a '--verbose' option to t/harness
11:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32763
11:04 barney jimmy: You can now do:  perl t/harness --verbose t/php/sha1.t              # for looking at Win32 failures
11:04 * barney is having a late breakfast
11:06 cotto a few hours, and I can have an early one
11:07 dalek r32764 | cotto++ | trunk:
11:07 dalek : [build] fix parallel make installable
11:07 dalek : patch courtesy of Luca Barbato <lu_zero@gentoo.org>
11:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32764
11:08 cotto seen rurban
11:08 purl rurban was last seen on #p5p 22 hours, 5 minutes and 39 seconds ago, saying: kitten molester, brrh
11:11 lu_zero cotto http://rafb.net/p/fJeKEQ27.html should fix the other issue
11:13 cotto which issue?
11:13 purl which issue are you reading?
11:13 cotto forget which issue
11:13 purl cotto: I forgot which issue
11:14 lu_zero cotto part of the code being installed in $prefix/lib and part in $libdir
11:14 lu_zero if libdir isn't $prefix/lib (so ppc64 and amd64 targets so to speak)
11:15 cotto so that fixes the case when libdir != $prefix/lib
11:15 lu_zero should
11:17 cotto I don't understand that code well enough to commit without testing it (or knowing that it's been tested).
11:19 cotto If you can't test it, send it to the list.
11:19 lu_zero I can test it but I'd rather others testing it
11:31 cotto It should probably go to the list then.
11:48 lu_zero how to send correctly to the list?
11:49 cotto perldoc docs/submissions.pod
11:50 cotto actually, sending a message to parrotbug is enough
11:50 cotto parrotbug?
11:50 purl parrotbug is mailto:parrotbug@parrotcode.org or http://svn.perl.org/parrot/​trunk/docs/submissions.pod or see also "rakudobug"
11:51 cotto make the subject informative enough to identify the problem and prefix it with "[PATCH]"
11:54 lu_zero ok
11:55 cotto lu_zero++
11:56 rob joined #parrot
12:27 konstantin joined #parrot
12:28 barney cotto: I watched the video. Yes, I'm depressed now.
12:34 jimmy joined #parrot
12:36 cotto glad to be of service
12:38 cotto extensions are going to be less than fun
12:39 cotto at least we have nci instead of xs
12:43 jimmy joined #parrot
12:43 cotto bah.  I need to go to bed before I become too stupid to find my way there.
12:44 cotto night
12:44 cognominal joined #parrot
12:46 jimmy i want create a site on parrot in china.
12:46 jimmy want to...
12:49 cotto you could translate kjs' tutorial on parrotblog.org
12:49 cotto sleep &
12:51 jimmy me?
12:51 purl you are probably jimmy or a kind and warm-hearted person, albeit allegedly a sloth
12:52 barney jimmy: You could as on the mailing list about what is the best approach. There are some parrot sites in languages like German and Czech
12:53 jimmy where?
12:54 jimmy where mailing list and other languages parrot sites?
12:56 Lorn joined #parrot
12:57 barney See http://www.parrot.org/dev for the mailing list
12:57 jimmy and i can not open http://www.parrotblog.org/
12:59 barney http://www.parrotblog.org/ is fine here
13:00 jimmy It seems to me that phc and pct is good choice.
13:00 barney Is there a Chinese Wikipedia entry for Parrot ?
13:00 jimmy i don't know.
13:01 jimmy but i know nothing about phc.
13:02 jimmy www.parrotblog.org is so slow that firefox is timeout
13:02 barney http://phpcompiler.org/
13:02 jimmy and so is www.parrot.org/dev.
13:12 jimmy I'd like pct, because it is more closer to parrot. :)
13:13 jimmy Just my thought.
13:13 jimmy For reference.
13:16 barney Yes. PCT is the default variant. PHC is experimental.
13:16 jimmy i can open www.parrot.org and can not open www.parrotblog.org
13:16 barney I had some fun generation Parrot Abstract Syntax Tree, PAST, with XSLT
13:17 jimmy barney: aye.
13:20 jimmy god! i don't why most of all the dns name about parrot in china had been registered.
13:24 iblechbot joined #parrot
13:30 dalek r32765 | coke++ | trunk:
13:30 dalek : remove a C++ style comment not caught by 'make codetest'
13:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32765
13:41 Coke jimmy: ping.
13:41 jimmy hello
13:43 Coke hio. Got two different replies back on your email question. one was 'can he use gmail?' the next was "please cc me the next time he sends something". forwarding that one to you now...
13:44 Coke phc?
13:44 purl phc is, like, Perl Hackers Conference or prairie home companion, http://phc.mpr.org/ or PATRIOTIC HAT CHECKLIST!!!1! or Prairie Home Companion
13:44 Coke what is phc in a parrot context?
13:45 Coke so, we're still using launchpad? =-)
13:45 Coke jimmy, I assume that's you that just tried to join launchpad?
13:45 jimmy yes
13:46 Zaba joined #parrot
13:46 jimmy phc is a php compiler.
13:47 jimmy coke: you'r so nimble.
13:48 Coke jimmy: added.
13:48 jimmy thanks
13:49 jimmy are you at launchpad when i tried to join it?
13:49 Coke No, I just got an email.
13:49 jimmy so quick!
13:50 Coke meh. how long does it take to click on a link.
13:50 Coke you're welcome. =-
13:50 Coke )
13:50 Coke (The scary thing is, I could have done that from my cell phone.)
13:50 jimmy what is ahansen@gmail.com?
13:51 Coke that's ask's email address. he's one of the two admins of perl.org
13:51 Coke so, perhaps by cc'ing him, we can figure out a way to let your emails through (but still block many other spammy ones.()
13:52 jimmy I see
13:55 jimmy and who is the admin of www.parrot.org? there seems to some wrong li tag css style at the bottom. here: http://www.parrot.org/wiki/parrot
13:55 jimmy i always forget the grammar of english :(
14:11 bacek joined #parrot
14:14 gryphon joined #parrot
14:23 Coke there are a few of us.
14:23 Coke I'd say "open a ticket..."
14:23 PacoLinux joined #parrot
14:27 dalek r32766 | bernhard++ | trunk:
14:27 dalek : [Pipp] Add a brokem Makefile target for running the tests
14:27 dalek : from the PHP QA Team testsuite
14:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32766
14:53 Infinoid seen Tene
14:53 purl Tene was last seen on #parrot 9 hours, 15 minutes and 16 seconds ago, saying: realclean.
14:53 Infinoid Tene: r32761 breaks t/op/exceptions.t on my box.
15:16 jsut|work joined #parrot
15:18 rdice joined #parrot
15:24 jimmy joined #parrot
15:33 jimmy there were some makefile mis-repalced such as : http://docs.sun.com\app\docs\doc\819-5265\6n7c29cli/?a=view
15:34 jimmy and such as @echo "                 http:/smoke.parrotcode.org\"
15:34 Infinoid ooh, I got to commit rev 0x7fff
15:34 Infinoid next one to commit gets 0x8000 :)
15:34 dalek r32767 | infinoid++ | trunk:
15:34 dalek : [codingstd] Minor tweaks to make t/codingstd/perlcritic.t happy.
15:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32767
15:35 jimmy i think you are not talking to me..
15:36 ruoso joined #parrot
15:38 Coke pmichaud: ping
15:40 Coke pmichaud (or anyone) - any thoughts about the current requirement that attributes have to be PMCs (parrot level); wondering if having PGE able to to store, say, the "pos" attribute as an int instead of a pmc would elminate a lot of the GC pressure I'm seeing.
15:42 jimmy can anybody fix this bug?
15:50 particle joined #parrot
15:50 particle1 joined #parrot
15:51 Coke jimmy: is that the one I already opened a ticket on your behalf for?
15:51 Coke (or do you have a new one?)
15:52 particle1 i believe that makefile template fix for editor/ is wrong
15:52 jimmy coke: hmm, actully, I can't fix it completely. and I upload a new patch and do some changes.
15:52 particle1 it should use the configure systems syntax #CONDITIONED_LINE
15:53 jimmy yes, the new patch I just uploaded is using  #CONDITIONED_LINE
15:53 particle jimmy++
15:54 jimmy but the mis-replaced slash such as http address I can not fix it.
15:55 jimmy because the compiler.pm is so mad.
15:55 jimmy $line =~ s{(/+)}{
15:55 jimmy my $len = length $1;
15:55 jimmy my $slash = $conf->data->get('slash');
15:56 jimmy '/' x ($len/2) . ($len%2 ? $slash : '');
15:56 jimmy }eg;
15:56 jimmy it repalced all the slash!
15:57 Coke when you say mad, there, do you mean "crazy" ?
15:57 Coke or "angry" ?
15:57 Coke (I hate english. :|)
15:58 jimmy I hate too! yes.
15:59 jimmy and what the difference between them?
15:59 purl the difference between them is the range
16:00 jimmy i think the former is expression and another is behavior
16:06 Infinoid purl, forget the difference between them
16:06 purl Infinoid: I forgot difference between them
16:06 Infinoid jimmy: the definition of mad varies a bit between british english and american english
16:07 Infinoid british mad = crazy, american mad = angry
16:09 Infinoid tewk_: is tools/dev/nci_test_gen.pl supposed to pass?  because I get all sorts of failures on linux/amd64, and it removes most of the guts from src/nci_test.c.  (I was looking it at because it's one of the few .pl files that doesn't contain "use strict" or "use warnings")
16:10 jimmy and hello particle: i think it should be added a condition " unless $line =~ m/@echo/;"
16:12 jimmy Infinoid: ugly english, why dont use crazy as definition.
16:12 particle jimmy: that's possible. it would help if a check was done to see how many @echo lines in makefile templates are affected by that change. it's probably not many, but useful to know.
16:13 jimmy just print $line to find the difference.
16:13 particle there are some number of makefile templates with @echo lines in them. your proposed change would affect all of them
16:13 jimmy if it works well
16:14 jimmy so just print $line to see the difference .
16:14 jimmy tomorrow I will try it.
16:15 * Coke fights with a bizarre svn repo at work. :|
16:15 jimmy i have to go bed now. god night! coke && particle
16:17 Coke ~~
16:17 Infinoid goodnight jimmy
16:17 jimmy and infinoid
16:17 purl i think infinoid is Mark Glines <mailto:mark@glines.org>
16:18 Coke yes, purl. sssh.
16:20 * Infinoid polishes the parrot
16:20 Coke hey, I saw that episode of mythbusters.
16:20 Coke oh, wait, it wasn't a parrot.
16:20 Infinoid sounds kinky.
16:21 dalek r32768 | infinoid++ | trunk:
16:21 dalek : [rakudo] gen_junction_pir.pl can use strict and warnings.
16:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32768
16:21 dalek r32769 | infinoid++ | trunk:
16:21 dalek : [pod] typo: usefull -> useful
16:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32769
16:21 allison joined #parrot
16:22 Coke only if you're exceedingly odd.
16:23 Infinoid japhb: there are some header parse warnings output by gen::opengl during configuration, and I'm not sure whether they are specific to my system or not.  nopaste coming up.
16:24 nopaste "Infinoid" at 96.238.213.50 pasted "gen::opengl parse error" (4 lines) at http://nopaste.snit.ch/14614
16:26 Infinoid the more parrot bisects I do, the more I want to hack ccache functionality into pmc2c
16:26 japhb looking ...
16:32 Theory joined #parrot
16:34 Coke is there an easy way to overwrite an svn tag?
16:34 Coke (rather than doing a delete and then a new 'svn cp'?)
16:35 Infinoid svn pe?
16:36 Coke ... a tag isn't a property, though.
16:36 japhb Infinoid: Looks like an easy fix; running rebase/rebuild to test, then will commit
16:36 Infinoid ok, I misunderstood
16:36 Infinoid I don't think I've ever used tags.
16:37 Infinoid in fact, I don't even know how to query them
16:40 Infinoid if tags are just like branches (I'm a little confused because they mean something completely different and broken in CVS), then I don't think there is.  but you could edit a checkout of the tag in place, and commands like "merge" will preserve history across branches
16:44 dalek r32770 | japhb++ | trunk:
16:44 dalek : [Rakudo] Add languages/perl6/tools/rebase-rakudo.pl
16:44 dalek : * Add rebase-rakudo.pl, a tool to make rebase/rebuild/test
16:44 dalek :   of Parrot/Rakudo more "fire and forget".
16:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32770
16:44 dalek r32771 | japhb++ | trunk:
16:44 dalek : [OpenGL] Handle type 'GLulong' in GL headers
16:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32771
16:45 Coke I don't want to edit a tag in place. =-)
16:45 Coke I guess I'll just rm it and then re-cp it.
16:45 Tene Infinoid: it breaks the test I just added that relies on the functionality that I had to pull out for breaking t/pmc/threads.  It should probably be TODO's.
16:45 Tene TODO'd.
16:46 dalek r32772 | japhb++ | trunk:
16:46 dalek : [Rakudo] Set svn props on rebase-rakudo.pl
16:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32772
16:46 Infinoid ah, that explains it.  want me to todo it?
16:47 Infinoid japhb++: output is nice and clean now, thanks!
16:47 japhb Infinoid: you're welcome!
16:53 japhb OK, with this coming NEWS commit, I should be done from my end for tomorrow's release
16:54 dalek r32773 | japhb++ | trunk:
16:54 dalek : [NEWS] Updates from japhb; fix indentation
16:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32773
16:54 Infinoid rebase-rakudo.pl fails t/codingstd/copyright.t and t/codingstd/svn_id.t
16:55 japhb Infinoid: I've got to run ... would you mind throwing the standard bits in there, plz?
16:55 Infinoid no problem
16:55 japhb thanks
16:59 dalek r32774 | infinoid++ | trunk:
16:59 dalek : [rakudo] Add copyright line and $Id$ to rebase-rakudo.pl.
16:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32774
17:03 * particle just got two weeks notice
17:04 Coke woof.
17:09 Infinoid ouch.
17:10 Coke anyone getting a OLPC laptop to see about parrot-hackage?
17:10 dalek r32775 | infinoid++ | trunk:
17:10 dalek : [MANIFEST] update for new cardinal tests.
17:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32775
17:16 Tene Infinoid: if you could todo it, that would be great.
17:16 klapperl joined #parrot
17:17 dalek r32776 | infinoid++ | trunk:
17:17 dalek : [t] TODO a test pending the functionality it tests.
17:17 dalek : * in r32756, Tene added a patch to stop disabling exception handlers, and a test for that.
17:17 dalek : * The patch broke t/pmc/threads.t, so the patch was temporarily removed in r32761.
17:17 dalek : * TODO the corresponding test for now, until the patch is put back in.
17:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32776
17:17 gryphon joined #parrot
17:23 Infinoid ok, things are looking pretty good on my box now, test and codetest both pass for the first time in a while.
17:30 hercynium joined #parrot
17:35 nopaste "masak" at 130.238.45.242 pasted "a new bug" (29 lines) at http://nopaste.snit.ch/14615
17:46 konstantin joined #parrot
17:58 chromatic joined #parrot
18:15 pmichaud good morning/localtime, all
18:18 particle hey there, pmichaud
18:19 particle S03-operators/increment.t is failing due to lack of bigint
18:20 allison joined #parrot
18:20 particle shall i skip the failures?
18:22 japhb joined #parrot
18:23 pmichaud chromatic updated int/bigint last night, so I'd be curious to see if we can fix the failures
18:25 chromatic It's failing?
18:25 particle i'll have to check svn log to see what 'fixed' means
18:25 chromatic It must have overflowed before.  That's strange.
18:25 particle c:\Users\particle\dev\parrot\tru​nk\languages\perl6>..\..\parrot perl6.pbc t\spec\S03-operators\increment.rakudo
18:25 particle 1..41
18:25 particle no bigint lib loaded
18:26 particle t\spec\S03-operators\increment.rakudo    1   256    41   82  1-41
18:27 Wknight8111 joined #parrot
18:30 pmichaud afk, lunch.
18:31 gmansi joined #parrot
18:58 Tene pmichaud: you see my mails about the resumable exception context fix?
19:00 dalek r32777 | Whiteknight++ | trunk:
19:00 dalek : [Book] More updates to chapter 3. Work on the second half of the file improving the writing and eliminating dependencies on information which isn't covered till chapter 5 or later.
19:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32777
19:03 Infinoid joined #parrot
19:16 chromatic Method 'HOW' not found for invocant of class 'BigInt'
19:16 mberends joined #parrot
19:16 chromatic It sounds like autopromoting is too aggressive.
19:22 chromatic todo('detect integer overflow/underflow'); is($a, 2147483648, "var incremented after post-autoincrement");
19:22 chromatic Actually no, the test is fine.
19:22 chromatic I mean, the test in the Integer PMC is fine.
19:24 chromatic ... but todo() doesn't appear to catch an exception.
19:24 particle nope
19:24 Tene Perhaps it should?
19:25 chromatic I think so.
19:26 particle what does p5 do?
19:29 particle >perl -MTest::More -e"plan tests => 1; TODO: { local $TODO = '...'; ok( die ); }"
19:29 particle 1..1
19:29 particle Died at -e line 1.
19:29 particle # Looks like your test died before it could output anything.
19:29 chromatic Yeah.
19:29 particle that's what i expect
19:29 particle you need to skip to avoid fatal exceptions
19:29 chromatic But the test explicitly tries to overflow Integer on 32-bit platforms.
19:30 particle then the test needs to catch the exception
19:30 chromatic Exactly.
19:30 particle not the test function
19:30 chromatic Yes, I agree now.
19:35 gryphon joined #parrot
19:38 Coke ... how about now?
19:38 chromatic I still agree!
19:40 stockwellb joined #parrot
19:41 dalek r32778 | julianalbo++ | trunk:
19:41 dalek : fix unquoted barewords in Mysql nci examples
19:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32778
19:43 stockwellb I asked this question last night and couldn't get it resolved, I was wondering if anyone could look into it today http://nopaste.snit.ch/14609 why does $P2 have and empty typeof?
19:45 PerlJam stockwellb: a bug?
19:45 purl a bug is http://www.cbttape.org/funny/bug3.jpg
19:47 stockwellb For a beginner like me it begs the question why creat an intance from another instance in the first place? But yes, if you do, shouldn't it respond to typeof.
19:47 stockwellb god my typing is terrible.
19:48 nopaste "coke" at 72.228.52.192 pasted "notfound++ - here's all the compilation failures in examples/" (138 lines) at http://nopaste.snit.ch/14616
19:48 stockwellb PerlJam: I found something like that snippet in a test where someone expected an empty typeof. That makes me think there is a purpose.
19:49 NotFound Coke: I'm fixing those I wrote, for anow ;)
19:49 pmichaud stockwellb: depends on what you mean by "an empty typeof"
19:49 pmichaud It's not really empty.
19:50 stockwellb I wasn't sure of the right word. It matches ''.
19:50 pmichaud it's a class with no name.
19:50 stockwellb So no typeof means no name. No name means anonymous?!
19:50 pmichaud that's what I would say, yes.
19:51 gryphon joined #parrot
19:51 pmichaud again, it's not that there's "no typeof".  $P2 has a type, uniquely given by the class that was created and referenced in $P0.  But that class doesn't have a name, so when you try to print the class you get ''.
19:51 Tene stockwellb: I wouldn't say no typeof.  It's not a null pmc.
19:51 stockwellb I had that nagging thought last night. I'm just not experienced enough with anonymous classes.
19:51 Tene It's a type that stringifies to the empty string.
19:52 stockwellb Tene: yes I should have said empty string and not just empty.
19:53 stockwellb pmichaud: forgive me, but if $P2 has a type uniquely given by $P0, then what is it?
19:53 pmichaud note to lex2 folks:  It was decided yesterday (but I didn't get a chance to post/blog about it) that we're not going to try to get lex2 merged into the release.  We'll do it very soon after the release.
19:54 pmichaud (of course, we have to get it working first, and that's my task for today/tomorrow)
19:54 pmichaud stockwellb: you'll find that if you did    $I0 = issame $P3, $P0    that the result is 1
19:54 Tene pmichaud: are you going to get a chance to look at my resumable exceptions fix today?
19:55 pmichaud Tene: yes.  That is an excellent catch (based on your irc comments -- haven't seen the fix yet.  Haven't even opened email yet.)
19:55 * Tene nods.
19:56 Coke chromatic: that nopaste I just sent should probably be fixed before release.
19:56 pmichaud stockwellb: in other words, typeof $P2 is returning the class object used when you created it ($P0 in this case)
19:56 dalek r32779 | julianalbo++ | trunk:
19:56 dalek : fix bareword method names in Xlib nci examples
19:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32779
19:56 chromatic Will do, Coke.
19:57 pmichaud Tene:  I'm doing the same thing in the lexicals branch -- need to review all places where contexts are referenced and make sure the reference counts are updated apprpriately.
19:58 Coke for file in `ack -fa examples | ack '\.pir$'`; do ./parrot -o /dev/null $file; done
19:58 pmichaud ...because I found several places where they aren.t
19:58 Tene pmichaud: 'debug 0x80' is helpful here.
19:59 pmichaud excellent.
19:59 stockwellb but is $I0 = issame $P3, $P2 is 0.
19:59 ambs joined #parrot
19:59 pmichaud sure, because $P2 is an instance of the class, not the class itself.
19:59 ambs left #parrot
19:59 pmichaud there's an object that represents the class itself, and then we create other objects that represent that class
19:59 pmichaud sorry, that are instances of the class
19:59 pmichaud (I'm not fully lucid yet.)
20:00 pmichaud (Was on a plane all night :-)
20:00 pmichaud consider the following example
20:00 pmichaud $P0 = get_class 'Integer'
20:00 pmichaud $P1 = new $P0
20:00 pmichaud are $P0 and $P1 the same object?
20:00 stockwellb No
20:00 pmichaud right, so issame $P0, $P1   returns 0
20:00 pmichaud but if I ask "what class is $P1", I get back $P0
20:01 pmichaud $P2 = typeof $P1
20:01 pmichaud $I0 = issame $P2, $P0    # 1
20:01 stockwellb I see it. I'm not sure what to do with it.
20:01 Tene stockwellb: what are you *trying* to do?
20:02 pmichaud because 'typeof' returns the class that was used to create the object.  (More precisely, it returns the class of which the object is an instance.)
20:02 stockwellb Trying to understand it. I saw this in a test that I'm rewriting and I can't in good faith rewrite it if I don't get why it works that way.
20:02 pmichaud so, anonymous classes are just classes without a name.
20:02 pmichaud If I do
20:03 pmichaud $P0 = newclass 'Foo'
20:03 pmichaud $P1 = new $P0
20:03 pmichaud $P2 = typeof $P1    # $P2 issame $P0
20:03 pmichaud say $P2    #  says the name of the class, "Foo"
20:03 pmichaud that part make sense so far?
20:03 stockwellb yes.
20:04 pmichaud okay.  There's another way we can create a class, like this:
20:04 pmichaud $P0 = new 'Class'
20:04 pmichaud $P0.'name'('Foo')
20:04 pmichaud $P1 = new $P0
20:04 pmichaud ...
20:04 stockwellb yes.
20:04 pmichaud the first two lines create a new class called 'Foo',  same as  $P0 = newclass 'Foo' above
20:05 pmichaud if I do  $P2 = typeof $P0   and say $P2, then the class will say its name  ('Foo')
20:05 pmichaud still good?
20:05 * purl strokes beard
20:05 stockwellb still goo.
20:05 stockwellb good
20:05 stockwellb :)
20:05 pmichaud okay, now we get rid of the name:
20:05 pmichaud $P0 = new 'Class'
20:05 pmichaud $P1 = new $P0
20:05 pmichaud $P2 = typeof $P1
20:05 pmichaud say $P2
20:05 pmichaud this is the same as before, only I didn't give $P0 a name.
20:05 pmichaud so, its name is ''
20:06 stockwellb I didn't see typeof and name as the same thing. That makes sense now.
20:06 pmichaud well, they aren't really the same thing.
20:06 stockwellb but...
20:06 pmichaud typeof (when it returns to a pmc register)  gives me back the class object itself
20:07 pmichaud it's only when I go to print the class object that I get to see its name.
20:07 stockwellb Ok, I'm onboard with that.
20:07 pmichaud so, if I do:
20:07 pmichaud $P0 = newclass 'Foo'
20:07 pmichaud say $P0    # 'Foo'
20:07 pmichaud and if I do
20:07 pmichaud $P0 = new 'Class'
20:07 pmichaud $P0.'name'('Foo')
20:08 pmichaud say $P0    # 'Foo'
20:08 pmichaud but if I do
20:08 pmichaud $P0 = new 'Class'
20:08 pmichaud say $P0    # ''
20:09 stockwellb bu the typeof $P0 would be "Class"
20:09 pmichaud correct.
20:09 sjansen joined #parrot
20:09 pmichaud because $P0 was created as an instance of 'Class'
20:09 stockwellb and if I say the typeof is would also be "Class"
20:09 pmichaud correct.
20:09 pmichaud there is an object that represents the class of 'Class' objects (this gets kinda meta here)
20:10 pmichaud but if I do:
20:10 pmichaud $P0 = get_class 'Class'
20:10 pmichaud $P1 = get_class 'Integer'
20:10 pmichaud $P2 = typeof $P1
20:10 pmichaud then $P2 and $P0 are the same object
20:10 pmichaud the 'typeof' of any class object is 'Class'
20:11 pmichaud and continuing on
20:11 stockwellb starting to sink in.
20:11 pmichaud $P3 = new 'Class'
20:11 pmichaud $P4 = typeof $P3
20:11 pmichaud then $P0 issame $P2 issame $P4
20:11 stockwellb yes.
20:12 stockwellb $P5 = new $P3
20:13 stockwellb $P5 - when is this useful?
20:13 pmichaud sometimes we create classes that don't have a name
20:13 pmichaud such as when we're combining a class with a role for the purposes of creating a single-use object
20:14 stockwellb So this really is all about anonymous classes. This is how you do it.
20:14 pmichaud so most often we do $P3 = new 'Class'  so that we can have it inherit from multiple parent classes and/or roles.
20:14 pmichaud without having to give that new class a unique name.
20:15 pmichaud or, we may need to have a class of objects that simply adds some new methods but the name isn't important or useful (or wanted)
20:15 stockwellb I fist say this in t/00/subclass.t
20:15 stockwellb first saw this...
20:15 Tene http://rakudo.de/ seems to be down.
20:15 Tene Or my laptop is having weird connection issues again.
20:16 pmichaud but yes, this is testing that we can create anonymous classes; or perhaps simply testing that we can use   $P0 = new 'Class'   as an alternative to the newclass opcode
20:16 pmichaud I connect to rakudo.de just fine.
20:16 Tene Yeah, nevermind.  It's the latter.
20:16 pmichaud Storable version 2.18 required--this is only version 2.15 at /usr/share/perl/5.8/Exporter/Heavy.pm line 107.
20:17 pmichaud I know chromatic made this change last night (he mentioned it to me at the time)
20:17 pmichaud ...but I didn't realize then that my boxes weren't running 2.18 :-)
20:17 stockwellb side note. I use irssi. Much useful info has scrolled away. Is it logged somewhere so that I can review it?
20:18 pmichaud stockwellb: http://irclog.perlgeek.de/parrot/2008-11-17
20:18 pmichaud scroll to bottom
20:18 pmichaud "hi, stockwellb!"
20:19 stockwellb I'm looking now.
20:19 stockwellb wicked!
20:20 Coke excellent!
20:20 purl Smithers, release the hounds!
20:20 Infinoid stockwellb: what's wrong with irssi?  is your scrollback buffer set too small, or do your pgup/pgdn keys not work?
20:20 Infinoid pmichaud: (backlogging) if you create a Class named Foo, and then try to do a new Foo, do you get an instance of the class you just created?  (are the classes stored in a namespace somewhere?)
20:20 pmichaud Infinoid: yes, it's called the "class registry"
20:21 pmichaud I'm pretty sure that naming the class also puts it in the registry.
20:21 pmichaud (testing)
20:21 Infinoid is that lexical or global?
20:21 stockwellb pgup/pgdn what sort of genius thought of that!! I can be such dork.
20:21 Infinoid haha
20:22 * Infinoid loves irssi
20:22 stockwellb yet my dorkness helped me learn something more important. So perhaps it's useful still.
20:22 pmichaud still, irclog.perlgeek.de is very useful when it's left your scrollback buffer, or after you've closed your irssi session.
20:22 particle or screen died
20:22 Infinoid rare, but possible
20:23 moritz or if you want to link to a particular line in the IRC logs
20:23 nopaste "pmichaud" at 72.181.176.220 pasted "naming a class places it in the type registry" (13 lines) at http://nopaste.snit.ch/14617
20:23 Infinoid moritz: that is very useful
20:23 TimToady or the machine you're running screen on dies...
20:23 pmichaud Infinoid: the type registry is (unfortunately) global to Parrot
20:23 stockwellb pmichaud: Thanks for the skoolin today.
20:24 pmichaud stockwellb: my pleasure
20:24 pmichaud thanks for rewriting the tests.  That's a big help to all of us.
20:24 particle indeed
20:25 particle ack -al pasm_ t # reports 86 files iirc
20:25 stockwellb Really I think it helps me more. Lets face it. Rewritten tests don't really move the project forward much.
20:25 pmichaud in this case they do.
20:25 particle i don't know what pir_ reports
20:25 pmichaud rewriting the tests in PIR makes it much faster.
20:25 particle faster++
20:25 pmichaud currently the perl versions of the tests start a new instance of Parrot for every test.  That slows things down.
20:25 pmichaud If the tests are in PIR, then we run it all in one Parrot instance.
20:25 particle (closer to independence from perl 5)++
20:26 particle and don't write each of them to a file first
20:26 stockwellb Well good then. I've only gotten 3 committed, 1 is in the TR and I'm working another.
20:26 moritz jonathan++ # giving me tickets for which more tests are needed
20:26 * Coke vaguely wishes that the tcl test suite was more compartmentalized so he could be more selectively about what he ran.
20:26 Coke s/ly//
20:26 pmichaud when we rewrote t/compilers/pge/perl6regex/01-regex.t in PIR then we had a _huge_ speedup
20:27 particle is there a util to report the time of each perl-based test file? stockwellb could attack the longest-running first
20:27 pmichaud one could do find+time+prove
20:27 stockwellb I don't know how to do that find time prove?
20:27 particle +sort i suppose. yep
20:28 chromatic prove has a --state option, but I can't find documentation on it.
20:28 Coke particle: you can tell 'prove' to report test times.
20:28 Coke moment.
20:28 particle oh, even nicer
20:28 Coke HARNESS_TIMER make test
20:28 Coke HARNESS_TIMER=1 make test
20:29 pmichaud Infinoid: the global registry is RT #43419
20:29 stockwellb running that now.
20:29 Coke (hurm. I wonder if that stopped working at some point.)
20:29 pmichaud so, we're requiring Storable version 2.18 now?
20:30 pmichaud I don't have a particular issue with that, but I'll note that it means Parrot doesn't compile on my stock kubuntu (8.04) perl
20:30 pmichaud (where previously it did)
20:30 konstantin joined #parrot
20:31 Coke pmichaud: there is a thread about dropping it back to 2.mumble.
20:31 pmichaud okay.
20:31 pmichaud I'll cpan storable in the meantime -- probably can't hurt
20:31 Coke I think we are going to have to have a more complicated require'ment.
20:31 Coke (so we require different versions of storable depending on your base version of perl.)
20:31 Coke (PITA)
20:32 particle 2.12
20:32 dalek r32780 | julianalbo++ | trunk:
20:32 dalek : fix bareword method names in pirric
20:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32780
20:33 Coke HARNESS_TIMER used to work with Test::Harness.
20:34 particle works for me
20:34 particle t\spec\S03-operators\arith................................ok    16765 ms
20:34 Coke ok. it's not working for me anymore; wonder if I upgraded to a borked version somewhere. enjoy. =-)
20:35 chromatic Requiring different versions of Storable for different versions of Perl is madness.
20:35 chromatic We are not in the business of tracking what works on various Perl versions everywhere.
20:35 chromatic We *know* that 2.18 will work everywhere.
20:35 chromatic We *don't know* that anything earlier than 2.18 will work everywhere.
20:36 ff-wonko joined #parrot
20:36 Coke chromatic: any way you can address andy's note that upping the requirement to 2.18 will force us to lose that platform?
20:36 chromatic Nothing other than "That's some good crack."
20:37 Coke I would hesitate to phrase it that way.
20:37 chromatic The time it takes to figure out what's going wrong and file angry tickets or write angry messages to the list is approximately the same amount of time it takes to install Storable 2.18 from the CPAN, especially because Storable 2.18 exists solely so that people can upgrade to it from the CPAN.
20:37 particle let's upgrade our perl dependency to 5.10.1
20:38 chromatic That's not what I'm saying.
20:38 tewk_ 1.0 will ship on three platforms WIN, Linux x86/x86_64, OS X
20:39 chromatic We require Storable 2.18 so that *OpenSolaris users don't have to upgrade from Perl 5.8.4*.
20:39 tewk_ 1.0 will ship on "three" platforms WIN, Linux x86/x86_64, and OS X
20:39 particle tewk: that doesn't really mean we're free to break other platforms just because we want to
20:40 cotto stockwellb, see list for comments on your ops.t patch and let me know if anything's unclear
20:40 chromatic What breaks other platforms?
20:40 particle i don't care what version of storable we require, as long as parrot continues to work on the platforms it did a month ago
20:40 chromatic As I understand it, Storable 2.18 is the only release that reliably works back to 5.8.2 or so on all platforms we care about.
20:40 stockwellb cotto: ok, thanks.
20:42 moritz my copy of rakudo dies on t/spec/S03-operators/increment.t - is that known?
20:42 chromatic moritz, "no bigint library available"?
20:42 moritz chromatic: 'Method 'HOW' not found for invocant of class 'BigInt'
20:42 moritz '
20:42 moritz what kind of bigint library should I install?
20:43 chromatic You apparently have gmp.
20:43 cotto no how, brown cow
20:43 chromatic I fixed Integer increment and decrement last night to autopromote to BigInt.
20:43 moritz ii  libgmp3-dev    4.2.1+dfsg-4   Multiprecision arithmetic library developers
20:43 chromatic The spectests didn't actually check that the increment worked; they had known overflow problems.
20:43 chromatic I assume that someone just needs to add the Perl 6 Int methods to BigInt.
20:44 moritz ok
20:44 moritz I'll open a ticket
20:45 masak joined #parrot
20:45 bacek good morning
20:45 masak good evening
20:46 moritz good localtime
20:46 stockwellb cotto: Great example. I see that using a label and not a handler is just a catch 'all'. I'll fix those soon.
20:46 masak good global time.
20:47 bacek :)
20:47 bacek moritz: can you apply latest patch from #56216 and close this ticket?
20:48 cotto stockwellb: if you get bored, I'm sure there are a large number of tests that use a simple label where they should use a full ExceptionHandler
20:48 stockwellb that's a fact, that is where I learned it from.
20:51 stockwellb got to finish my chili. Later folks.
20:52 stockwellb left #parrot
20:53 moritz bacek: I'll take a look (RT is very slow right now)
20:54 masak rakudo: my $l; for 1, 2 { my $l = $l // $_; say $l; $l = $_ } # should print 1\n1\n
20:54 polyglotbot OUTPUT[1␤2␤]
20:54 bacek moritz: thanks.
20:54 masak bug, right?
20:55 masak $l gets undefined in between iterations.
20:55 masak is that one in RT?
20:55 bacek masak: it's "my", not "state"
20:55 moritz masak: 'my' creates a new varialbe on each iteration
20:55 masak ah.
20:55 masak oops.
20:56 masak my bad.
20:56 masak I didn't see that extra 'my' until now :/
20:56 masak so, user bug.
20:56 bacek masak: :)
20:56 * masak gets back to work
21:00 Infinoid oh, hi chromatic, thanks for your explanation
21:00 Infinoid the reason why "msg Infinoid," wouldn't work lastnight was because of the comma
21:01 cognominal past the coma, you are dead
21:02 chromatic ahh
21:05 pmichaud I might be able to fix BigInt -- just a sec.
21:05 pmichaud oh wait, I have to install Storable-2.18 first.  A longer sec, then.
21:06 klapperl joined #parrot
21:08 masak pmichaud: the 'bug' I reported before today is the same as the one above, so please ignore. :/
21:08 pmichaud with the my $l = $l // $_;   thingy?
21:08 moritz masak: then merge the two
21:08 masak pmichaud: yes, it was bogus
21:08 pmichaud or reject the ticket if it's not a valid bug.
21:08 masak moritz: I didn't report it that way. maybe someone else did, though.
21:08 pmichaud ah.
21:09 masak pmichaud: I just msg'd you about it and nopasted it here.
21:09 masak I was in a hurry,
21:09 pmichaud np
21:09 pmichaud got it, thanks.
21:09 pmichaud until the lexicals branch is finished I'm tending to lump all such bugs as "it's probably related to lexicals"
21:09 pmichaud it's worth filing the tickets though, so that we're sure to go back and check.
21:10 pmichaud and I really want to have lexicals far enough along that we can merge back to trunk right after the release.
21:10 pmichaud so that's my task for today.
21:10 masak yay.
21:10 masak I'd have usually filed a ticket.
21:10 masak but now I'm glad I didn't.
21:10 pmichaud that's good also.  :-)
21:11 masak maybe I should file a ticked about warnings against re-defining variables instead :P
21:11 masak s/ticked/ticket/
21:11 pmichaud well, I don't think that would've produced a warning.
21:11 pmichaud maybe we can warn about using a variable in the scope of its own 'my' declaration.
21:13 masak why wouldn't it merit a warning? it shadows an earlier declaration.
21:13 pmichaud that's the whole point of 'my' declarations, isn't it?
21:13 pmichaud that they might be shadowing an earlier one.
21:14 pmichaud my $i    means  "when I say $i, I mean this one, and not any other $i you might see in an outer scope."
21:14 * masak gets some kind of epiphany
21:14 masak ok.
21:14 masak then it's alright, I guess.
21:15 moritz we have $OUTER::i or whatever it's called for that
21:15 pmichaud we should see a warning if we have two "my $i" declarations in the same lexical scope
21:15 pmichaud (and if the declarations conflict, possibly -- one of the synopses has the rule for that.)
21:16 masak mm
21:19 pmichaud back in a bit
21:19 pmichaud (need reboot)
21:19 dalek r32781 | moritz++ | trunk:
21:19 dalek : [rakudo] '!FAIL'() when Str.substr index is out of bound, instead of throwing
21:19 dalek : an exception. Patch courtesy by Vasily Chekalkin, bacek++
21:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32781
21:20 pmichaud ....should that throw an exception?
21:21 * Infinoid reads allison's writeup
21:22 pmichaud okay, I guess it should.
21:22 bacek pmichaud: it calls 'FAIL' when we caught parrot's exception
21:23 bacek pmichaud: it was your comment in ticket :)
21:23 pmichaud bacek: yes, I was wondering if the Perl 6 spec indicated that we should throw an exception for out of bounds.  But we do that in Perl 5 (with -w enabled), so the answer is yes.
21:23 bacek how "Perl6 Int methods should be added to BigInt"?
21:23 pmichaud I'm working on that now, as soon as I can get Parrot rebuilt.
21:24 bacek pmichaud: ok.
21:24 pmichaud I'm having trouble getting any of the CPAN mirrors to talk to my cpan installer.
21:25 pmichaud (or vice-versa)
21:25 * moritz has a local mirror that CPAN::Mini updates - very convenient for offline working
21:25 pmichaud oh, I'm online.
21:25 pmichaud (as you might guess :-)
21:25 pmichaud I'm unable to fetch 01mailrc.txt.gz
21:26 bacek pmichaud: You moved to Australia? :)
21:26 pmichaud bacek: either that or the mirrors did.
21:27 bacek pmichaud: :)
21:28 bacek moritz: can you close #60604? It's expected behaviour.
21:29 pmichaud it is?
21:29 purl Oh no it isn't!
21:29 pmichaud I don't think that's the expected behavior.
21:29 pmichaud we aren't returning a closure.
21:30 moritz bacek: it's right that it should be a closure, but i don't see how a correct closure could lead to that behaviour
21:30 bacek our List multi method grep ( @values: Matcher $test )
21:30 bacek our List multi grep ( Matcher $test, *@values )
21:30 pmichaud this is the same lexical problem that we had with given.
21:30 pmichaud it's keeping the last (first) version of the lexical variable.
21:30 pmichaud as opposed to using the new one that is in scope.
21:30 pmichaud (at the time the block is invoked)
21:31 bacek my bad...
21:31 pmichaud I'll link it with the lexicals meta ticket
21:32 Infinoid so at parrot 1.0+, the numeration of ops and the bytecode version will be relatively stable?
21:32 Coke i certainly hope so.
21:32 pmichaud s/given/gather/ agove.
21:32 pmichaud *above
21:33 bacek #56512 is my favourite...
21:33 bacek afk # $kids->school()
21:36 pmichaud 60092 might be resolvable.
21:38 masak I just got an error I never got before: 'PAST::Compiler can't compile a null node'
21:38 masak is that bad? :)
21:38 pmichaud it means that something is wrong in the AST construction.
21:38 masak I'm not sure what caused it. I just changed a . to a .=
21:38 masak I'll see if I can isolate it
21:38 dalek r32782 | coke++ | trunk:
21:38 dalek : point the new roadmap; I assume this one will eventually go away.
21:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32782
21:40 pmichaud ...I can't find the ticket that had the gather lexicals bug.
21:42 pmichaud ENOTICKET, perhaps?
21:43 masak pmichaud: ENOTICKET, yes
21:43 masak IIRC you asked me to make a test case, but nothing else.
21:44 masak I remember being surprised. :)
21:44 masak rakudo: my @a; @a[0].=subst( '', '')
21:44 polyglotbot OUTPUT[PAST::Compiler can't compile a null node␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 152 (src/PCT/HLLCompiler.pir:104)␤called from Sub 'parrot;PAST;Compiler;as_post' pc 1926 (src/PAST/Compiler.pir:436)␤called from Sub 'parrot;PAST;Compiler;keyed' pc 6861
21:44 polyglotbot ..(src/PAST/Compiler.pir:1835)␤called from Sub 'parrot;PAST;Compiler;post_childre...
21:44 masak there's the boiled-down error.
21:44 masak reporting.
21:44 purl it has been said that reporting is usually the biggest part of any apparently simple thing
21:46 Infinoid pmichaud: is #56512 what you're looking for?
21:46 Infinoid oh, something more specific.
21:46 dalek r32783 | tene++ | trunk:
21:46 dalek : Slight update to ExceptionHandler.pmc's can_handle for exception severities.
21:46 dalek : Still not perfect, but better.
21:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=32783
21:47 masak pmichaud: here's the relevant discussion that made me not report the gather bug: http://irclog.perlgeek.de/​parrot/2008-11-12#i_685253
21:47 masak pmichaud: maybe I misunderstood.
22:03 Tene Coke: Is it you that I need to harass about adding feeds to planet parrot?
22:03 Whiteknight joined #parrot
22:05 pmichaud masak: more likely I misremembered that the discussion came from a ticket.
22:05 pmichaud it's fine that there's no ticket.
22:05 masak to the best of my knowledge, there is no such ticket.
22:05 pmichaud or we can create one.
22:06 pmichaud I'll reference your use.perl post :-)
22:06 masak :)
22:06 pmichaud I'd still like to see your journal in the planet perlsix feed, if it hasn't happened yet.
22:06 pmichaud it could even potentially go into the parrot feed.
22:07 masak pmichaud: ok, cool.
22:07 Tene msg Coke please add http://blogs.gurulabs.com/stephen/atom.xml to planet parrot, or tell me that I'm wrong again if you're the wrong person to contact.
22:07 purl Message for coke stored.
22:09 Coke does anything about the state of exceptions need to go into DEPRECAT* so we can rip it out after the release?
22:09 Tene Not this release, no.
22:10 Tene Wait.
22:10 pmichaud we need to indicate that pop_eh's are now required.
22:10 Tene Are we deprecating the "EHs are automatically disabled" feature?
22:10 Tene So we can remove it?
22:10 pmichaud I think yes.
22:10 Tene I'd like to do that.
22:10 particle yes.
22:10 pmichaud that's why I went through and added all of the pop_eh's
22:10 pmichaud (to places that didn't have them.)
22:11 Coke Tene: added; as soon as this svn commit finishes, anyway.
22:11 Coke (there.)
22:12 Tene Coke: are you a maintainer of planet parrot?
22:12 pmichaud okay, _finally_ got Storable 2.18 installed, now to reboot, rebuild parrot, and deal with the other things in the queue.
22:12 pmichaud brb
22:12 Coke tene;yes. but not planet six
22:12 Tene Coke: can you add that feed I linked up there to planet parrot?
22:14 Coke resend: "Tene: added; as soon as this svn commit finishes, anyway."
22:14 Tene ... oh, I thought you meant added to DEPRECAT*
22:14 pmichaud (that's what I thought also :-)
22:14 * Tene reading comprehension fail.
22:14 Coke nope. I figure I'll leave that to someone who pretends to understand what's going on there.
22:14 Coke sorry for the confusion.
22:15 Tene If it's not there by tonight, I'll forget about it and not add it myself.
22:15 Tene So... I'll send myself email.
22:15 peepsalot joined #parrot
22:38 pmichaud my fix for BigInt doesn't fix things, because I don't have the bigint library installed.
22:38 pmichaud and apparently that's required.
22:39 pmichaud my preference would be to split the increment.t tests into two files -- one that tests increment (standard cases) and another file that checks for proper handling of overflow conditions
22:40 pmichaud in the meantime, I'm not sure what to do about platforms that don't have bigint available.
22:41 chromatic Note that the overflow amount depends on the size of your INTVALs too.
22:42 pmichaud well, the first test in increment.t is testing overflow of 32-bit int
22:42 pmichaud so we see it "right away"
22:43 pmichaud that's why I'm thinking we should split the file.
22:43 pmichaud s/we see it/I see it/
22:44 pmichaud although it is curious that we were (apparently) passing it before but fail it now.
22:46 chromatic I don't know that it was checking values.
22:46 pmichaud I wonder if we were autopromoting to Float before.
22:46 pmichaud (we being 'rakudo')
22:46 chromatic My guess is that the literal 33-bit number in the source code autopromoted in the compiler.
22:46 pmichaud that sounds possible/correct
22:46 chromatic Though float promotion sounds reasonable.
22:47 chromatic I do remember adding that to IMCC.
22:47 pmichaud well, the source code starts with a 32-bit number and adds 1
22:47 pmichaud so I don't think it autopromotes there.
22:47 pmichaud and the error I'm getting is definitely in the increment operation
22:47 pmichaud i.e., at the point where we're attempting to increment the int
22:48 pmichaud anyway, I think perhaps we just skip/regress those tests for now until we figure out all of the ramifications for Parrot.
23:02 chromatic is($a, 2147483648, "var incremented after post-autoincrement");
23:02 chromatic 214...8 isn't a 32-bit number, as far as I understand it.
23:03 pmichaud sure, but the complaint about the bigint library is coming before we ever get to the is() function.
23:03 pmichaud it's complaining about it when it runs  prefix:<++>
23:03 chromatic Right.
23:03 chromatic All I mean is that I'm not sure the test is right.
23:04 pmichaud okay.
23:04 chromatic ... besides the fact that without GMP you get an exception.
23:04 pmichaud in that case, imcc is indeed promoting the constant to a Float.
23:06 pmichaud I just sent a reply on the storable-2.18 issue; apologies for making the discussion even longer.
23:10 ruoso joined #parrot
23:14 rdice joined #parrot
23:16 bacek joined #parrot
23:19 chromatic Hm, we *could* put some Storable 2.1x logic in Configure.pl.
23:21 chromatic use Storable;
23:21 chromatic check version... if it's 2.12 or lower, die.
23:22 chromatic if it's 2.18, continue.
23:22 chromatic if it's between 2.12 and 2.18, exclusive, warn.
23:22 bacek pmichaud: jfyi, lexical is bug #56512
23:23 Tene pmichaud: did you file a ticket about the exceptions bug I fixed?
23:23 Limbic_Region joined #parrot
23:30 pmichaud (storable)  that would work for me also.
23:31 pmichaud let me see what version of Storable I have on Kubuntu
23:33 pmichaud 2.15
23:36 pmichaud I think I'd phrase the logic as:
23:36 pmichaud 1.  if 2.12 or lower, die.  (our minimum requirement)
23:38 pmichaud 2.  if lower than 2.18 (but not lower than 2.12) then warn if we're on a platform for which there is some question.  Let's wait to build the list of warnings until we get (new) bug reports indicating such.
23:38 pmichaud for example, I can report that 2.15 that comes bundled with 32-bit kubuntu 8.04 works just fine (because it's what I've been using for the past 6+ months)
23:39 pmichaud so getting a warning there seems to be a bit overkill.
23:39 cotto logic++
23:39 * Limbic_Region wonders idly if this is something he should test for Win32/MinGW and Win32/Cygwin or if he should go back to sleep?
23:42 chromatic Limbic_Region, which version of Storable works to build PMCs on Cygwin?
23:43 Limbic_Region chromatic - can you ask the question a different way - IOW, what can I do to answer your question
23:43 chromatic Sure!
23:43 chromatic Two questions.
23:43 chromatic 1) Can you build Parrot on Cygwin now?
23:43 chromatic 2) Which version of Storable do you have installed?
23:43 Limbic_Region ah
23:44 Limbic_Region will check in a few minutes
23:44 chromatic Thank you.
23:45 pmichaud Tene: I did not file a ticket about exceptions yet, or update DEPRECATED.  Things around the house have been a little bit hectic this evening :-(
23:45 pmichaud Tene: if you can do that, great; otherwise I'll get to it later tonight when everyone else goes to bed
23:45 pmichaud (and when I go to update NEWS)
23:46 pmichaud chromatic: Have an approximate time-of-day that you plan to be doing the release?
23:46 Tene pmichaud: I was just wondering if there was a ticket that I need to close.
23:46 pmichaud Tene: I don't think it ever made it to a ticket, but I can easily check.
23:46 chromatic Evening.
23:46 purl evening is when IRC is dead, TV is laden down with ads, and you're having my own dinner.
23:47 pmichaud chromatic: okay, excellent.  It doesn't change my planning at all -- was just curious.
23:47 pmichaud moritz++ # message to p6c about holding tickets until test added
23:50 Limbic_Region chromatic - if it builds, the answer will be 2.18 since I have 5.10.0
23:51 Limbic_Region it is working on building now
23:55 Infinoid at what point in the parrot roadmap (if any) will the build dependency on Perl 5 be eliminated?
23:55 pmichaud I think that was "independence" -- i.e., January 2011
23:55 Zaba joined #parrot
23:56 Infinoid ah, ParrotRoadmap on the wiki has all of that stuff.  thanks
23:56 * Infinoid looks forward to the marshmallows
23:57 chromatic Hm, I was hoping for a Cygwin with a Storable somewhere around 2.14... but knowing it works with 2.18 on Cygwin is also good.

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

Parrot | source cross referenced