Camelia, the Perl 6 bug

IRC log for #parrot, 2009-09-30

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 darbelo japhb: I'll get on building metadata for decnum-dynpmcs. That one passes all tests.
00:01 jsut_ joined #parrot
00:01 Whiteknight okay, ctx->call_signature is not initialized
00:01 Whiteknight allison: ping
00:02 japhb darbelo++
00:08 rhr joined #parrot
00:11 darbelo japhb: decnum-dynpmcs just runs "parrot Configure.pir" How should I classify it's configure step?
00:13 japhb darbelo, I need to add another configure type, then.  :-)
00:13 japhb hold on a sec
00:16 mikehh All tests PASS (pre/post-config, smoke (#28339), fulltest) at r41567 - Ubuntu 9.04 amd64
00:16 japhb darbelo, OK try that.
00:16 japhb new type is 'parrot_configure'
00:17 darbelo that was fast.
00:18 darbelo Configuring decnum-dynpmcs ...
00:18 * Coke kicks off a partcl spec test run to see what's what.
00:18 darbelo ### FAILED!
00:19 japhb darbelo, I try.  ;-)
00:19 japhb darbelo, failed why?
00:19 darbelo We need better diagnostic information.
00:20 japhb Right now I'm depending on the diagnostics of the commands it runs.
00:20 japhb ("Simplest thing that could possibly work")
00:20 darbelo Oh, I know, parrot's not on my $PATH
00:20 japhb darbelo, ah
00:20 japhb though, hmm
00:20 japhb It should have found it from the bindir
00:20 darbelo I'll put it there. no worries.
00:23 cconstantine How would I go about loading a .pir file in NQP and calling a sub?
00:24 darbelo japhb: How do I tell plumage to spit out the command it's running at every step?
00:25 japhb Right now, you don't.  But I can add that.
00:25 Tene cconstantine: the easy way, or the right way?
00:25 cconstantine right, back to this :)
00:26 cconstantine I want to say the right way, but I want it to be easy?
00:26 Tene cconstantine: you can load_bytecode() it
00:26 Tene or do:
00:26 cconstantine it looks like I can do {{ PIR }}
00:26 Tene Q:PIR { load_language 'parrot'; \n $P0 = compreg 'parrot' \n $P0.'import'('Foo::Bar') }
00:27 Tene oslt
00:27 Tene and that will look for Foo/Bar.pir in the relevant search path
00:27 Tene load it
00:27 Tene and import subs from .namespace [ 'Foo' ; 'Bar' ]
00:27 Tene (think of exports in Perl libraries)
00:27 cconstantine awesome
00:28 Tene That *should* have a simple version in NQP, and I'm working on the best way to add that tonight.
00:28 * cconstantine isn't familiar with perl libraries or any other exports than C
00:28 cconstantine cool
00:28 Tene cconstantine: well, as long as the namespace of the file matche sits filename, which it should or you're doing it wrong, it will work perfectly.
00:28 cconstantine awesome
00:29 mikehh partcl r745 builds on parrot r41567 - make test PASS (smolder #28342) - ubuntu 9.04 amd64
00:29 Tene lemme know how it goes
00:29 Tene AFK for about an hour.
00:29 Coke mikehh++ thanks.
00:29 rhr joined #parrot
00:31 japhb ERG.  NQP's failure to handle slurpy and flattening causes me pain.
00:32 darbelo japhb: I found your problem. too many slashes.
00:32 japhb darbelo, oh?
00:32 darbelo my $parrot  := fscat(%VM<config><bindir>, 'parrot');
00:32 darbelo +    say($parrot);
00:33 darbelo Configuring decnum-dynpmcs ...
00:33 darbelo //h/o/m/e///d/a/r/b/e/l/o///p/a/r/r​/o/t///i/n/s/t/d/i/r///b/i/n/parrot
00:33 japhb WTF?!?
00:33 darbelo My sentiment exactly.
00:33 japhb How the *heck* did that happen?
00:34 japhb Commit your JSON so far, plz, I want to pull it and debug from my end too.
00:36 mikehh rakudo (c8181aa) builds on parrot r41567 - make test / make spectest_smolder (up to r28509 -> #28343) PASS - Ubuntu 9.04 amd64
00:36 darbelo pushed it.
00:39 msmatsko joined #parrot
00:43 Coke (*@#&$#@ another segfault.
00:45 Whiteknight don't even start
00:45 darbelo japhb: something's woknky on fscat
00:46 msmatsko joined #parrot
00:47 darbelo It wants a pmc but I'm pretty sure we're passing it a string.
00:48 darbelo Which I think is getting autoboxed into a String PMC which then has each 'part' (character) joined to the next one with a '/'
00:49 Coke Whiteknight: hey, I'm just sitting over here trying to build (failed) and run my spectest (segfault)
00:49 mikehh decnum_dynpmcs r187 builds on parrot r41567 - make test PASS - Ubuntu 9.04 amd64
00:51 japhb darbelo, sorry, multitasking
00:51 japhb Yeah, I see it now
00:52 rhr joined #parrot
00:52 dukeleto wouldn't it be nice if 'parrot --version' included an svn rev ?
00:52 darbelo dukeleto: not if we switch to git ;)
00:53 dukeleto darbelo: i will convert the code to use git, *if* and *when* we move to git :) That is at least 6 months away
00:53 Coke dukeleto: `parrot_config revision`
00:53 Coke since wherever there's a parrot there's a parrot_config...
00:53 japhb darbelo, yep, I think you're right
00:54 dalek partcl: r746 | coke++ | wiki/SpecTestStatus.wiki:
00:54 dalek partcl: dict.test is now segfaulting (again).
00:54 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=746
00:54 dukeleto Coke: i want it in the output of --version, but thanks, I didn't know about that
00:55 darbelo japhb: how do I make a "String array" nqp?
00:56 darbelo nm I figured it out.
00:57 japhb darbelo, what did you do?
00:59 Whiteknight darbelo broke it
01:00 darbelo nope, darbelo fixed it!
01:01 Whiteknight darbelo fixed it!
01:01 darbelo japhb: http://nopaste.snit.ch/18132
01:01 darbelo It want's an array. I gave it an array.
01:02 japhb I've got a better fix.  :-)
01:02 mikehh dukeleto: rakudo c8181aad2670fb74f7aaa1c905205e34e83101bd on parrot r41567
01:03 darbelo japhb: You are no fun.
01:03 darbelo ;)
01:03 japhb heh
01:03 japhb testing ...
01:03 japhb holy cow, couple of tests much?
01:04 darbelo They came with the library :)
01:04 japhb 'Successful.'
01:05 darbelo 'sides. What's the point of a numeric library you can't trust?
01:06 japhb True ....
01:07 Whiteknight I think they call that a "random number generator"
01:07 darbelo Push your fix?
01:07 Whiteknight and the less you can trust it, the better it is
01:07 japhb darbelo, just going through now
01:07 japhb try again
01:08 japhb On my box, decnum-dynpmcs is the first project Plumage successfully installs!  W00t!
01:08 darbelo There's an as_array()?
01:09 darbelo I didn't know that.
01:09 darbelo (dumb build procedures)++
01:09 darbelo japhb: SHIP IT!
01:10 japhb Inasmuch as it is uploaded to the repo, I have.  ;-)
01:11 darbelo Okay, you are now distributing my one parrot project. I can call my part of this done ;)
01:12 darbelo plumage: the decnum-dynpmcs distribution mechanism ;)
01:17 darbelo We should make a push for partcl, lua and rakudo now.
01:18 darbelo Once we get the 'big languages' we can start promoting this to parrot devs.
01:19 japhb darbelo: heh, heh, and yup, respectively.  :-)
01:20 darbelo make changes, run a quick "plumage test partcl" and find out if Coke is going to yell at you ;)
01:20 japhb Of course, it's a little ... thin ... on error handling and the like.
01:20 japhb heh
01:20 japhb nice thought!
01:21 japhb For example, I haven't dealt with the case if already having a git clone of a project, and pulling instead of trying to clone again (which is doomed to fail)
01:21 darbelo people have been talking about testing languages for ages, now plumage is here they're out of excuses!
01:21 japhb But that will come.
01:21 japhb heh
01:21 japhb Still, I'm really happy with getting at least one project working, even though there's still a LONG way to go on this.
01:22 japhb AFK for a while, dinner
01:22 * darbelo is going to catch some Z's
01:22 darbelo See y'all later.
01:22 darbelo left #parrot
01:22 * mikehh me too
01:22 mikehh bbl
01:29 rhr joined #parrot
01:31 hudnix joined #parrot
01:36 allison joined #parrot
01:40 rhr joined #parrot
01:42 jdv79 what is plumage and what does it have to do with testing?
01:43 solarion joined #parrot
01:46 Whiteknight plumage is the "module ecosystem" for Parrot
01:46 Whiteknight roughly equivalent to Perl5's CPAN
01:48 allison joined #parrot
01:50 jdv79 oh, i vaguely remember now.  cool.  i didn't know there was movement on it.
01:52 Whiteknight yeah, the last few days it's been picking up quickly
02:00 msmatsko Has any decision been made on the JIT yet?
02:07 dukeleto msmatsko: which decision ?
02:07 purl which decision is, like, that
02:08 dukeleto purl, forget which decision
02:08 purl dukeleto: I forgot which decision
02:08 msmatsko There was talk of using LLVM or some other VM.  I was wondering if any decisions had been made.
02:08 dukeleto msmatsko: the old JIT has been killled, the new JIT will most probably be LLVM, but I don't know that it is set in stone yet
02:09 msmatsko OK.  Thanks.
02:10 dukeleto msmatsko: https://trac.parrot.org/parrot/wiki/JITRewrite has lots of relevant info
02:12 dukeleto msg darbelo you were missing a single letter in your debugger patch to make it work :)
02:12 purl Message for darbelo stored.
02:13 msmatsko Thanks.  What is Lorito?  From what I could tell it looks like a another VM that was previously called L1.
02:15 dukeleto msmatsko: http://wknight8111.blogspot.com/​2009/06/l1-lets-review-faq.html
02:15 shorten dukeleto's url is at http://xrl.us/bfpcqj
02:17 msmatsko Thanks.  That will work.
02:17 dalek parrot: r41568 | dukeleto++ | trunk/src/debug.c:
02:17 dalek parrot: [cage] Get rid of ->strstart in the parrot debugger, darbelo++
02:17 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41568/
02:28 dukeleto msmatsko: this may interest you https://trac.parrot.org/parrot/ticket/1075
02:29 msmatsko Thanks.  Also, I'm reading Whiteknight's blog, and am wondering what Lorito (L1) is going to buy us that LLVM won't?
02:35 janus joined #parrot
02:36 kid51 joined #parrot
02:37 dalek TT #1077 created by dukeleto++: Decide fate of dump_string() in the parrot debugger
02:37 dukeleto msmatsko: i don't quite know. great question for whiteknight and chromatic
02:38 kid51 msg Whiteknight I'll discuss TT #1075 with you the next time when we're on IRC simultaneously.
02:38 purl Message for whiteknight stored.
02:40 dukeleto msmatsko: i think lorito gives us a more optimizable low-level representation of opcodes, but I am not sure why LLVM doesn't do that. I don't quite understand the difference between Lorito+llvm and how they interact
02:42 msmatsko I'll buy that.  I'm kind of confused too.  It almost seems that Lortio would be a JIT-of-your-choice-wrapper.
02:42 kid51 Question:   the channel topic says testing priority for the week is "the new PCC branch" ...
02:43 kid51 ... however, we currently have *3* different branches whose names begin with pcc.   Which one is it?
02:43 kid51 pcc_arg_unify/
02:43 kid51 pcc_arg_unify_2_0/
02:43 kid51 pcc_reapply/
02:46 * kid51 searched thru text of Tuesday #parrotsketch and did not find clarification.
02:49 kid51 If someone knows the answer, please msg me so I can start smoldering in the morning.  Better still, fine-tune the topic.
02:49 * kid51 must sleep
02:49 purl $kid51->sleep(8 * 3600);
02:52 dukeleto msg kid51 pcc_reapply
02:52 purl Message for kid51 stored.
02:55 rg joined #parrot
02:56 Topic for #parrotis now http://www.parrot.org | Parrot 1.6.0 "half-pie" released: PCC branch hackathon all $localtime Saturday | Testing priorities: pcc_reapply branch
03:07 dalek parrot: r41569 | dukeleto++ | trunk/docs/debugger.pod:
03:07 dalek parrot: [TT #592][docs] Add docs about assigning to registers in docs/debugger.pod
03:07 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41569/
03:12 kurahaupo joined #parrot
03:22 dukeleto kurahaupo: still looking for parrot tests to hack on ?
03:23 dalek parrot: r41570 | dukeleto++ | trunk (2 files):
03:23 dalek parrot: [t][tools] Allow assigning to lowercase register names in parrot_debugger, since printing lowercase register names is allowed
03:23 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41570/
03:33 dalek parrot: r41571 | dukeleto++ | trunk/docs/debugger.pod:
03:33 dalek parrot: [TT #592][docs] Clarify docs about the case sensitivity of the debugger
03:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41571/
03:50 jdv79 iirc, L1 is not about jit, it would make it easier/possible.
03:51 jdv79 the page on the wiki is pretty good
04:26 japhb http://use.perl.org/~geoffrey/journal/39697    # Parrot Plumage Day 7
04:40 Tene japhb: tonight isn't working out so well for me... did you still need a try() function?
05:07 chromatic joined #parrot
05:18 japhb Tene: doesn't need to happen tonight.
05:18 japhb No worries.  :-?)
05:18 japhb er
05:18 japhb :-)
05:23 Tene japhb: how do I make a closure in nqp?
05:23 Tene Can I?
05:24 Tene If not, this try function is less useful than I originally planned. :P
05:30 Zak joined #parrot
05:31 nopaste "tene" at 12.190.38.210 pasted "try() example in nqp for japhb++" (11 lines) at http://nopaste.snit.ch/18135
05:31 Tene japhb: I got it working, committed it, and nopasted an example... it's not ideal, but it works.
05:31 Tene I can't find a better closure syntax that works in nqp.
05:40 kjeldahl_ joined #parrot
05:43 cotto who was that guy in here earlier asking how he could help?
05:44 cotto kurahaupo, ping
05:49 cotto msg kurahaupo  If you want a good task, replace ->strstart with proper use of the STRING API.  See r41485 for a good example.  Don't forget to free the C strings.
05:49 purl Message for kurahaupo stored.
06:08 cotto msg kurahaupo The idea behind eliminating strstart is that it breaks encapsulation and makes code depend on the STRING subsystem's implementation details.
06:08 purl Message for kurahaupo stored.
06:12 dukeleto cotto++ for mentoring
06:23 uniejo joined #parrot
06:23 dukeleto darn, i seem to have written a test that puts parrot into an infinite loop
06:23 cotto if I can't write code, i can at least make someone else do it
06:29 japhb Tene, thank you!  We'll do something better eventually, but for now that will at least allow me to deal with exceptions from libraries.
06:32 dalek TT #1078 created by dukeleto++: Parrot goes into infinite loop when attempting to test exceptions with ...
06:51 dalek parrot: r41572 | dukeleto++ | trunk/t/pmc (2 files):
06:51 dalek parrot: [t] Convert an exception test to PIR
06:51 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41572/
06:56 barney joined #parrot
07:08 payload joined #parrot
07:09 iblechbot joined #parrot
07:15 Austin_away joined #parrot
07:15 dukeleto how does http://docs.parrot.org/par​rot/latest/html/index.html get generated?
07:16 dukeleto i want to put a link to docs/debugger.html on there
07:26 fperrad joined #parrot
07:28 mikehh All tests PASS (pre/post-config, smoke (#28339), fulltest) at r41567 - Ubuntu 9.04 amd64
07:47 mikehh All tests PASS (pre/post-config, smoke (#28354), fulltest) at r41572 - Ubuntu 9.04 amd64
07:48 mikehh partcl r745 builds on parrot r41572 - make test PASS (smolder #28356) - ubuntu 9.04 amd64
07:51 mikehh rakudo (c8181aa) builds on parrot r41572 - make test / make spectest_smolder (up to r28513 -> #28357) PASS - Ubuntu 9.04 amd64
08:01 athomason joined #parrot
08:06 moritz dukeleto: maybe you remember implementing complex roots in PIR for Rakudo... the version now in the setting is a bit shorter: http://github.com/rakudo/rakudo/commit/5​159c42574576b0f35d557f10c5e9ebca448e326 :-)
08:06 shorten moritz's url is at http://xrl.us/bfpdv4
08:09 dukeleto moritz: wowzers
08:09 dukeleto moritz: i would be interested in the performance difference
08:09 dukeleto moritz: but that is amazingly concise
08:10 dukeleto moritz: does it pass all the tests? it doesn't seem to have as much error handling, but perhaps that is hidden in the multi-ness of it
08:11 moritz dukeleto: actually it's not quite the same, one Inf and one NaN test fail
08:11 dukeleto moritz: those darn edge cases
08:12 dukeleto moritz: i remember implementing roots() fondly since that is how I learned PIR and what got me interested in Parrot
08:13 moritz return self if self ~~ Inf|NaN; or so might do
08:14 dukeleto moritz: that is basically what the PIR version did
08:17 mikehh decnum_dynpmcs r187 builds on parrot r41572- make test PASS - Ubuntu 9.04 amd64
08:22 mikehh dukeleto: I think it is generated by make html - I am not sure how it gets to docs/parrot.org
08:26 dalek tracwiki: v15 | chromatic++ | JITRewrite
08:26 dalek tracwiki: https://trac.parrot.org/parrot/wiki/J​ITRewrite?version=15&amp;action=diff
08:26 shorten dalek's url is at http://xrl.us/bfpdxw
08:54 Austin_away Well, *that's* not incredibly irritating.
08:55 mokurai left #parrot
08:56 dalek TT #1079 created by Austin_Hastings++: Chaining operator ':=' is ignored in NQP
09:01 riffraff joined #parrot
09:59 patspam joined #parrot
10:07 eiro_ joined #parrot
10:19 slavorgn joined #parrot
10:36 einstein joined #parrot
10:44 bacek joined #parrot
10:44 bacek o hai
10:47 payload joined #parrot
10:49 uniejo joined #parrot
10:49 riffraff joined #parrot
10:51 quek joined #parrot
11:19 allison whiteknight: pong (from a long time ago)
11:21 bacek in the galaxy far far away
11:24 bacek Did I scared chromatic?
11:31 einstein when entering a null into the does operator then it gives a segfault    $I1 = does NULL, 'array'
11:32 einstein what should it do? throw an exception or just return 0?
11:39 masak joined #parrot
11:55 iblechbot joined #parrot
11:56 dalek partcl: r747 | coke++ | wiki/SpecTestStatus.wiki:
11:56 dalek partcl: YA segfault.
11:56 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=747
12:09 payload joined #parrot
12:10 cconstantine joined #parrot
12:11 dalek TT #1080 created by coke++: segfault in Parrot_HashIteratorKey_get_string
12:11 dalek TT #412 closed by mikehh++: Failure of set_integer_keyed_str on linux AMD64
12:11 dalek TT #1081 created by coke++: segfault in Parrot_HashIteratorKey_get_string
12:12 cconstantine_ joined #parrot
12:12 kid51 joined #parrot
12:12 bacek joined #parrot
12:13 Coke msg dukeleto index.html is generated from "make html" in a checkout.
12:13 purl Message for dukeleto stored.
12:13 nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: 'make' failure at r41568 on linux/i386" (504 lines) at http://nopaste.snit.ch/18137
12:14 Coke kid51: perhaps you still need 'make corevm'
12:15 Coke ISTR earlier versions of this branch didn't fully build, and therefore allison was doing a minimal build/test cycle and needed to fix those before doing the whole thing.
12:15 Coke I think 'make corevm coretest' would do it.
12:15 * Coke points at his 2 new segfaults. You guys are killing me. =-)
12:16 * bacek unpacking rocket launcher and pointing it to Coke
12:17 dalek partcl: r748 | coke++ | trunk/docs/spectest- (2 files):
12:17 dalek partcl: Lost 2 spec tests to segfaults.
12:17 dalek partcl: Looks a little faster, but there's uncertaintly there due to the segfaults.
12:17 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=748
12:20 Coke bacek; they're both in parrot_hashiteratorkey_get_string, so I figured it was you.
12:21 bacek Coke: it's... impossible.
12:21 bluescreen joined #parrot
12:23 ruoso joined #parrot
12:24 bacek Coke: (reading backtrace) I suspect that make realclean should help
12:25 kid51 Coke:  Got same build failure at same revision on Darwin/PPC.  Have to go to $job now.  But why would make corevm work if 'make' would not?
12:25 kid51 (post in channel ; I'll read it later today)
12:27 mikehh kid51: I get exactly the same error on Ubuntu 9.04 amd64
12:30 Coke msg kid because all builds more than corevm?
12:30 purl Sorry, I've never seen kid before.
12:30 Coke msg kid51 because all builds more than corevm? if you're having trouble /running/ parrot, e.g., you don't want to try to build all the pir libraries.
12:30 purl Message for kid51 stored.
12:31 Coke bacek; I always realclean.
12:31 Coke bacek: try again. =-)
12:31 bacek Coke: you have to wait for proper phase of Moon?
12:31 Coke bacek: I run with --optimize, also, in case that's helpful.
12:31 bacek Coke: it is.
12:34 bacek ==== set-old-9.5 FAILED
12:34 bacek Segmentation fault
12:34 purl (Core dumped)
12:34 bacek Coke: this one?
12:34 purl this one is bugged too now
12:40 Coke bacek;thats one of the 2 of them, yes.
12:41 Coke coke parrot build is make -j3 realclean; perl Configure.pl --optimize --ccflags=-g --maintainer ; make -j3; make install-dev
12:41 Coke purl, no this one is <reply>that one?
12:41 purl coke: bugger all, i dunno
12:41 Coke purl, no this one is <reply>that one\?
12:41 purl coke: wish i knew
12:42 AndyA joined #parrot
12:42 Coke purl, you suck.
12:42 purl orz
12:42 Coke orz?
12:42 purl i think orz is a posture emoticon
12:42 bacek Coke: it's failing on non-optimised build as wee
12:42 bacek well
12:42 Coke bacek: maybe you should realclean.
12:42 Coke :P
12:42 bacek I DID IT
12:43 Coke I was, as they say in jersey, "busting your eggs."
12:43 Coke (or perhaps that's just nyc)
12:44 bacek I wonder how you managed to get HIK with NULL pointers...
12:44 whiteknight joined #parrot
12:45 whiteknight good morning, Parrot
12:45 Coke I bet this is related to the pmc keys.
12:45 fperrad Coke, on Partcl, since r475, tools/rev.pl is useless
12:46 bacek Coke: hmmm. It's possible.
12:46 Coke fperrad: working for me in 745 on svn.
12:47 Coke and in 742 on a git-svn checkout.
12:47 Coke (and since the last 3 commits are all doc related...)
12:47 patspam joined #parrot
12:48 Coke git-svn also works in 478.
12:48 Coke er, 748.
12:48 fperrad Coke, yes r745
12:48 Coke fperrad: yes. it's working here. do you mean useless=broken or useless=superfluous?
12:49 bacek Coke: oh... Do you use OrderedHash in partcl?
12:49 Coke bacek;no. orderedhash should be nuked from orbit.
12:49 Coke but I use hash subclasses.
12:49 Coke (like TclDict)
12:49 fperrad Coke, superfluous, the code of tools/rev.pl is now included in Configure.pl
12:49 bacek Coke: Ah!
12:50 Coke bacek - please tell me you didn't include an enum_class_Hash somewhere. :|
12:50 Coke fperrad: ah.
12:51 Coke fperrad: I have: 7:- PARTCL_REV := $(shell $(PERL) tools/rev.pl)
12:51 Coke ... so the configure step seems to using the script...
12:51 Coke so I'm confused. =-)
12:51 bacek Coke: erm. Nope.  But there is some shenanigans with inherited attributes.
12:52 Coke alright, that's forgivable. =-)
12:52 Coke bacek: theres a good testing target. for every pmc, test both the core pmc and subclasses of that pmc.
12:54 bacek Coke: care to create TODO ticket?
13:01 fperrad Coke, tools/rev.pl is used by tools/spec_info.pl, so forget my message
13:03 dalek parrot: r41573 | pmichaud++ | branches/pct-rx/compilers/pct/src/Regex/Match.pir:
13:03 dalek parrot: [pct-rx]: Add first implementation of Regex::Match .
13:03 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41573/
13:05 ruoso joined #parrot
13:09 Coke bacek: https://trac.parrot.org/parrot/ticket/1082
13:09 bacek Coke: MORE???
13:09 purl MORE is, like, more is less. or Masters of Reverse Engineering.  They cracked CSS :) or see "again" or see "yet again" or legendary outlining software put out 15 years ago by Symantec who has since lost the source code. or software that makes people still run Mac OS 8 just so they can use it
13:10 dalek TT #1082 created by coke++: test subclasses of core PMCS
13:12 Coke bacek; ?
13:12 Coke bacek;no, that's your testing ticket.
13:12 bacek Coke: I don't understand who can create HashIteratorKey apart from HashIterator and OrderedHashIterator...
13:13 bacek And both of them set pointers into proper value straight after creating new objects...
13:13 Coke bacek; subclasses ?
13:13 bacek Coke: nope.
13:13 Coke I can iterate over my subclasses of hash, so perhaps I don't understand.
13:14 bacek Coke: you can. But it will use parrot's HashIterator.
13:14 Coke ok.
13:20 Coke bacek; btw, did you get buyin from someone on allowing arbitrary PMC keys?
13:21 bacek Coke: what do you exactly mean?
13:21 Coke that's a pretty big change. Just wondering if someone had requested it or if you verified the plan with someone before doing it.
13:22 Coke (it was you that committed it, right?)
13:22 bacek It was me.
13:23 bacek But looks like no one else working on hashes. So I just consult with myself and resolved old outstanding ticket.
13:25 Austin_away How does arbitrary PMC hashing work?
13:26 Austin Does it stringify first, or use address, or what?
13:27 bacek Austin: default behaviour - stringify. But there is VTABLE_hashvalue to calculate... erm... hashvalue
13:27 Austin Coke: If a sub declares no lexicals, and is not compiled with :lex, what lexpad does it have?
13:27 quek left #parrot
13:27 Austin Bacek: So hash does what?
13:28 Austin check for does-hashvalue, else call string?
13:28 Austin check for string, else check for does-hashvalue?
13:28 bacek No, Default.hashvalue do stringification
13:28 Austin Aha!
13:29 Austin So since nobody does hashvalue, default new behavior is same as it is now?
13:29 Austin *since nobody does hashvalue (yet)
13:31 bacek Austin: pretty much same
13:31 Austin Perfect.
13:31 purl perfect is the enemy of good enough.
13:31 Austin Okay. Good enough.
13:33 Austin FYI, bacek, I used "get_addr" on the subs to make a hash key. :)
13:33 Austin (From my question of yesterday)
13:33 bacek Austin: I hope it will not work soon. Just after implementing compacting GC :)
13:33 dalek parrot: r41574 | bacek++ | trunk/src/pmc (3 files):
13:33 dalek parrot: [core][cage] Implement HashIteratorKey.set_pointer_keyed_int to find contract breakage
13:33 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41574/
13:33 dalek parrot: r41575 | bacek++ | trunk/src/pmc/hashiteratorkey.pmc:
13:34 dalek parrot: [core] Wallpapering problems reported in TT#1080 and ##T1081.
13:34 dalek parrot: Sometimes HashIteratorKey got NULL pointers instead of real one. All 2
13:34 dalek parrot: places in parrot set proper pointer right after creating new
13:34 dalek parrot: HashIteratorKey. So, real problem is still hiding somewhere.
13:34 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41575/
13:34 Austin Of course it will work.
13:34 Austin It's a cache. If the sub moves, I'll do another lookup.
13:34 bacek Austin: ok. In this case - it will :)
13:34 Austin But why would a sub move?
13:35 particle compacting garbage collector
13:36 paddy joined #parrot
13:38 bacek Coke: you can try latest trunk... It works on my box. But please, don't close tickets yet.
13:38 Coke rebuilding...
13:39 Coke bacek : might want to replace those XXX's with the actual ticket number, since we have one.
13:40 bacek Coke: good idea
13:40 purl bacek: Good Idea: Tossing a penny into a fountain to make a wish. Bad Idea: Tossing your cousin Penny into a fountain to make a wish.
13:40 bacek annoying girl...
13:41 * Austin gives purl a smooch.
13:41 Austin She's simple, but nice.
13:42 dalek parrot: r41576 | bacek++ | trunk/src/pmc/hashiteratorkey.pmc:
13:42 dalek parrot: [cage] Replace generic XXX with real ticket numbers. Coke++
13:42 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41576/
13:42 bacek Austin: try "botsnack" :)
13:42 purl :)
13:42 Austin botsnack
13:42 purl :)
13:44 Coke purl, scooby snack
13:44 purl Rank roo, Coke!
13:45 bacek Ok. $bedtime. It was very long day.
13:45 Austin Good night, bacek.
13:46 bacek Austin: G'Night
13:46 Coke bacek: thanks for the wallpaper. =-)
13:46 bacek Coke: does it works?
14:05 iblechbot joined #parrot
14:12 Coke bacek; on dict.test
14:12 Coke and set-old.
14:12 purl set-old is the one I was checking
14:12 Coke no clue if i'm passing the same amount, but the segfault is gone.
14:14 bluescreen joined #parrot
14:16 theory joined #parrot
14:21 dalek parrot: r41577 | pmichaud++ | branches/pct-rx (4 files):
14:21 dalek parrot: [pct-rx]:
14:21 dalek parrot: * Split PAST::Regex into its own source file
14:21 dalek parrot: * Add initial versions of .peek
14:22 dalek parrot: * Update PCT makefile
14:22 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41577/
14:25 dalek partcl: r749 | coke++ | wiki/SpecTestStatus.wiki:
14:25 dalek partcl: This segfaults were fixed.
14:25 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=749
14:25 dalek partcl: r750 | coke++ | trunk/config/PARROT_VERSION:
14:25 dalek partcl: Fewer segfaults here.
14:25 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=750
14:27 Psyche^ joined #parrot
14:33 clsn left #parrot
14:41 Coke (*&@#$(*&@#$(*@#&(@
14:41 Coke ok. now i have ANOTHER segfault.
14:41 Coke double you tee eff.
14:42 Coke (this one in chanio.test. bug report shortly.)
14:44 riffraff joined #parrot
14:45 davidfetter joined #parrot
14:46 dalek parrot: r41578 | pmichaud++ | branches/pct-rx (3 files):
14:46 dalek parrot: [pct-rx]:  Add 'alt_longest' node type, peeks for it.
14:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41578/
14:48 particle joined #parrot
14:56 dalek parrot: r41579 | mikehh++ | trunk/src/pmc/hashiteratorkey.pmc:
14:56 dalek parrot: codetest failure - no trailing whitespace
14:56 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41579/
15:01 PacoLinux joined #parrot
15:07 mikehh All tests PASS (pre/post-config, smoke (#28381), fulltest) at r41579 - Ubuntu 9.04 amd64
15:31 moritz pmichaud: in r41559 you added 'pmc' to the string in the first chunk also it's already in there - was that on purpose?
15:31 moritz +    $P0 = split ' ', 'tgt string pos int off int len int rep int cur pmc act pmc'
16:04 mikehh partcl r750 builds on parrot r41579 - make test PASS (smolder #28384) - ubuntu 9.04 amd64
16:06 mikehh rakudo (c8181aa) builds on parrot r41579 - make test / make spectest_smolder (up to r28515 -> #28385) PASS - Ubuntu 9.04 amd64
16:09 theory joined #parrot
16:15 mikehh decnum_dynpmcs r187 builds on parrot r41579- make test PASS - Ubuntu 9.04 amd64
16:16 mikehh Coke: running (and logging) partcl make specinfo
16:16 mikehh bbl
16:23 dalek partcl: r751 | coke++ | trunk/docs/spectest- (2 files):
16:23 dalek partcl: mark YA spec test run. Add dict and set-old back, but lose chanio.
16:23 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=751
16:28 dalek partcl: r752 | coke++ | wiki/SpecTestStatus.wiki:
16:28 dalek partcl: Track failure for chanio.
16:28 dalek partcl: review: http://code.google.com/p/p​artcl/source/detail?r=752
16:49 cotto_work good morning
16:49 purl Here I am, brain the size of a planet, and all they say is 'Good Morning'
16:49 cotto_work purl, you lie
16:49 purl cotto_work: excuse me?
16:50 whiteknight hello cotto_work
16:53 payload joined #parrot
16:58 darbelo joined #parrot
17:00 dukeleto 'ello
17:00 cotto_work 'i
17:04 * darbelo waves
17:05 mberends joined #parrot
17:05 * moritz waves back
17:06 darbelo dukeleto: If dump_string is unused kill it with fire.
17:06 darbelo Every unused function we maintain is a waste of (scarce) volunteer resources.
17:08 Coke darbelo: only thing is if it's PARROT_EXPORT'd.
17:09 darbelo Yeah, well. PARROT_EXPORT := Used, but not by us.
17:09 Coke oh, it's static, that seems killable. =-)
17:09 dukeleto that is 2 votes
17:11 dukeleto should I wait for another or get the axe out?
17:11 silug joined #parrot
17:11 Coke kill it, blame me?
17:11 dukeleto Coke: i like that idea, sounds good.
17:11 darbelo I'm killing it now.
17:12 dukeleto darbelo: please kill for me, kthanxbai
17:12 dukeleto darbelo: reply to the email on parrot-dev if you could as well, after it is gone
17:13 dalek parrot: r41580 | darbelo++ | trunk/src/debug.c:
17:13 dalek parrot: Kill the unused dump_string functions. Coke++
17:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41580/
17:14 dalek parrot: r41581 | darbelo++ | trunk/src/debug.c:
17:14 dalek parrot: Oops. Forgot to headerize.
17:14 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41581/
17:14 dalek TT #1077 closed by darbelo++: Decide fate of dump_string() in the parrot debugger
17:16 darbelo It's dead now.
17:16 moritz that was a quick death. darbelo++
17:16 whiteknight but it went so peacefully
17:17 darbelo Dead code usually does.
17:18 darbelo coverage?
17:18 purl i guess coverage is http://cv.perl6.cz
17:19 darbelo That's a good place to find candidates for easy killing.
17:19 whiteknight who runs that server?
17:20 whiteknight some of these files have dismal test coverage
17:21 darbelo src/events.c has 0.0%
17:22 whiteknight I don't even really know how to read these reports
17:22 darbelo If you see an all red function surrounded by green ones, you can probably kill it.
17:23 whiteknight kill it or test it
17:23 darbelo Yeah, but killing is easire :)
17:23 Coke last cover test was a month ago?
17:23 whiteknight a lot of items in interp info
17:24 whiteknight Coke: today
17:24 Coke ah. be nice if the list was in reverse order.
17:24 Coke (the different dir names are obfuscating.)
17:24 whiteknight tsq.c needs to disappear
17:25 darbelo The little number in the colored box indicates how many times that particular line was run.
17:26 Coke StringIterator seems like an easy get-to-100%.
17:31 moritz byteorder.c has a really bad coverage
17:31 moritz is that just because of the many #ifdefs, or is it simply not tested?
17:32 darbelo #ifdefs are a factor.
17:34 theory joined #parrot
17:35 dukeleto whiteknight: the coverage reports show you how many times a line of code was called during a test run
17:35 theory joined #parrot
17:35 dukeleto whiteknight: if it has a red 0, then it has no test coverage
17:35 darbelo Say what's up with the GC_IS_MALLOC #defines?
17:35 whiteknight darbelo: GC_IS_MALLOC is old
17:35 darbelo Is is killable?
17:35 whiteknight I think it needs to disappear, I dont remember if there is a deprecation notice on it
17:35 whiteknight I don't know. Post a message to the list or a ticket or something
17:36 darbelo I'm pretty sure I've never seen it defined?
17:37 darbelo And I'm looking at code that is "#ifdef GC_IS_MALLOC"ed *and* "#if 0"ed
17:39 particle we have splint to detect dead code, don't we?
17:40 dukeleto particle: where?
17:40 particle make splint
17:40 dukeleto 'cause the coverage reports are a bit annoying to plow through, if you are just looking for unused code
17:41 Coke anything with if 0 is, IMO, really questionable.
17:42 Coke particle: there's unreachable dead code, and unused dead code.
17:42 darbelo It's "#if 0" code for a #define we don't have anymore.
17:42 darbelo Near line 215 of src/interp/inter_misc.c
17:43 Coke darbelo: that whole section can be removed.
17:43 Coke IMO.
17:43 darbelo 'kay. I'm removing and blaming you for the breakage.
17:43 Coke If 0 usually reads to me as "some developer was testing something and wanted to be able to test it again later". but I bet those are all very old. More of a leo-era thing.
17:43 darbelo afk
17:49 Patterner Unformulately I have free time and I want to parrot stuff. What would be a good task? Any suggestions?
17:49 moritz Patterner: if nobody comes up with a better idea: write tests
17:51 moritz http://tapir2.ro.vutbr.cz/cover/ has test coverage reports - all that's red needs more tests (or needs to be ripped out)
17:51 Patterner I was hoping for some programming stuff... (and yes, I know tests are important)
17:51 moritz I'm sure there are many such tasks, but I'm the wrong person to ask about that ;-)
17:51 Patterner I'll have a look at it.
17:52 dalek TT #1083 created by NotFound++: Managed cstrings to avoid the need of Parrot_str_free_cstring
17:52 joeri joined #parrot
17:52 Coke Patterner: perl? c? pir?
17:52 Coke (other?)
17:53 szabgab joined #parrot
17:53 Patterner yes yes maybe
17:53 Patterner FORTRAN :)
17:54 Coke well, you could write fortran-on-parrot.
17:55 NotFound Real programmers can write fortran code in any language
17:55 mikehh we is supposed to be dynamic - how about cobblers
17:56 Coke Patterner: one c/perl/build test would be to allow us to pick which pir compiler we use at build time.
17:57 mikehh that's a dynamic COBOL on parrot :-}
17:58 Patterner Coke: is there a ticket for that?
17:58 Coke trying to find the first bit.
17:59 Austin Not on Parrot, they can't.
17:59 Austin No FORTRAN without a dynamic pmc.
17:59 Coke Austin: we don't have dynamic pmcs?
18:00 Austin I don't know, Coke. But I'm pretty sure that the Fortran dynpmc didn't ship with 1.6
18:00 Coke https://trac.parrot.org/parrot/ticket/576
18:00 Coke Austin: ... I can't tell if you're trying to be funny.
18:00 Coke wouldn't the fortran hll author ship their own pmc if they needed one?
18:01 Coke Patterner: https://trac.parrot.org/parrot/ticket/576 is probably a good first step.
18:02 Patterner Coke: how urgent?
18:03 Coke Patterner: not
18:03 Coke we eventually want to switch to PIRC; but it's been on the table for years.
18:03 Patterner I'll have a look at it.
18:04 Coke (maybe only one year.)
18:12 mikehh Coke: partcl make specinfo took me 1h27m
18:12 cotto_work Patterner, a nice incremental task is to replace uses of ->strstart with Parrot_str_to_cstring/Parrot_str
18:12 cotto_work _free_cstring
18:13 Patterner cotto_work: ticket number? :)
18:13 cotto_work There's a ton of strstart abuse, but even fixing a single one helps.
18:13 cotto_work not sure.  lemme dig
18:13 darbelo cotto_work: Watch out for #1083
18:14 darbelo That's a better approach than I was using.
18:15 mikehh Coke: "2009-09-30 17:10",750,"r41579",102,8436,3908,2221,2307,5190
18:15 dukeleto Patterner: what are your interests?
18:15 dukeleto Patterner: lots of things need doing, but you will be most effective hacking on something that interests you
18:15 dalek lua: 783831a | fperrad++ | t/lua-TestMore:
18:15 dalek lua: update submodule lua-TestMore
18:15 dalek lua: review: http://github.com/fperrad/lua/commit/78​3831ae763912088d656369d396c7bb81d9d5dc
18:15 shorten dalek's url is at http://xrl.us/bfpguw
18:15 cotto_work I like the idea a lot, but I wonder if it can work since we're only gauranteed to be storing a pointer to the char*, not to the actual PMC.
18:16 Patterner dukeleto: VMs in general :)
18:16 cotto_work but avoiding the need for Parrot_str_free_cstring would be reall nice.
18:16 dukeleto Patterner: also, writing tests give you the familiarity with Parrot that you need to work on it confidently
18:17 Patterner dukeleto: which is a reason I plan to write some
18:17 dukeleto Patterner: you are going to have to specialize a little. Are you interesting in workin on PMCs, Garbage collection, IO, docs, ....
18:17 dukeleto Patterner: i can give you help regarding what needs doing in our test suite
18:18 dukeleto Patterner: if you see any test files with -old.t, that means we are converting those tests from Perl to PIR
18:18 Patterner dukeleto: at the moment i'm getting the overview on the whole repository.
18:18 dukeleto Patterner: sounds good
18:18 darbelo cotto_work: Also, dont forget to warn newbies about the dragons. They live in the deep dark corners of io and freeze code, and jealously guard their strstarts
18:18 cotto_work I suspect that that approach can't work when we need to return a cstring.
18:18 cotto_work he'll find them soon enough
18:18 Patterner namespace and exception are old
18:19 dukeleto Patterner: basically, some Parrot subsystems are really old and don't obey an API (like using ->strstart), so we are slowing refactoring them to use a proper API
18:19 dukeleto coverage?
18:19 purl i think coverage is http://cv.perl6.cz
18:19 dukeleto cover?
18:19 purl i think cover is not at link?
18:19 darbelo pmc_freeze coverage?
18:19 darbelo coverage?
18:19 purl coverage is http://cv.perl6.cz
18:19 dukeleto Patterner: if you type "make cover" you can get pretty html reports about code coverage. if you see a red 0, then that code is dead or untested
18:20 Patterner how do I know if it is dead or untested? (writing tests for dead code is probably a bad idea, right?)
18:21 cotto_work darbelo, thanks for pointing out that tt
18:21 NotFound Talking about that, can someone review TT #1083 ?
18:21 Patterner how is the state of the x86_64 JIT?
18:21 cotto_work NotFound, I'm looking at it now.
18:21 dukeleto Patterner: if you ack the parrot source and the function is not used, then it is dead
18:21 moritz Patterner: the old JIT system was ripped out because it only worked on i386. There are currently grand plans for a new system
18:22 dukeleto Patterner: although a HLL may be using it (even though they aren't supposed to)
18:22 darbelo Patterner: Anything with PARROT_EXPORT needs to stay. Everertying else is fair game if all test pass after removing.
18:22 dukeleto Patterner: there is currently no JIT, but the infrastructure for it is being working on ferociously.
18:22 NotFound dukeleto: and don't forget that it can be part of the extend/embed interface
18:22 cotto_work Patterner, don't worry about HLLs using it.  If they want to break encapsulation, they get to deal with the consequences when we change our internals.
18:23 dukeleto Patterner: yes, if it has PARROT_EXPORT, then it is part of a documented API => not dead
18:23 Patterner o.k.
18:23 dukeleto cotto_work: I agree, just wanted to let him know
18:24 dukeleto Patterner: if a HLL pokes into our internals, it is nice to let them know about it. sometimes it was the only workable solution at the time
18:24 cotto_work Patterner, check out docs/project for lots of useful project docs, including our support and deprecation policy.
18:24 dukeleto Patterner: you should also get a trac account as well, so that you can post patches to tickets, create tickets/etc
18:24 cotto_work time for foods
18:28 kjeldahl_ joined #parrot
18:28 dukeleto Patterner: the parrot shell might help you in your parrot learning journey http://leto.net/dukeleto.pl/2009/09/lea​rning-parrot-with-the-parrot-shell.html
18:28 shorten dukeleto's url is at http://xrl.us/bfpgx3
18:28 Patterner dukeleto: I have one, I just have to find the password...
18:29 dukeleto Patterner: someone in here could probably reset it if you are locked out. is there a "forgot my password" feature?
18:30 dukeleto Patterner: which OS/platform are you on?
18:30 Patterner linux/amd64 and darwin/ppcg4
18:31 nopaste "fperrad" at 77.192.239.44 pasted "patch for Lua Makefile" (39 lines) at http://nopaste.snit.ch/18140
18:34 bluescreen joined #parrot
18:34 darbelo fperrad++ # Works great here.
18:34 fperrad darbelo, try 'make smolder'
18:35 darbelo Hmm. don't have curl.
18:36 darbelo and my prove doesn't understand -f --archive --exec or --jobs
18:37 dukeleto Patterner: your darwin/ppc box is very useful for smoking parrot and other HLL's
18:37 Patterner and very slow :)
18:37 dukeleto Patterner: that is what cron jobs are for :)
18:47 Coke you should be able to reset your own pass via trac.
18:51 joeri left #parrot
18:56 kurahaupo joined #parrot
19:04 nopaste "kurahaupo" at 121.90.77.57 pasted "Patch to convert t/pmc/resizeablearray to PIR" (683 lines) at http://nopaste.snit.ch/18141
19:05 kurahaupo Make that "resizeableintegerarray" ...
19:06 darbelo kurahaupo: You converted all tests? Or are there leftovers?
19:08 kurahaupo Make test works...
19:08 dukeleto kurahaupo: make fulltest is good to run
19:08 dukeleto kurahaupo: it runs extra code standards tests and stuff
19:09 kurahaupo (And "prove t/pmc/resizeableintegerarray.t" works too)
19:09 kurahaupo OK, running that now
19:10 dukeleto kurahaupo: impressive first patch!
19:11 theory joined #parrot
19:11 kurahaupo dukeleto: oops, fails some style checks. Seems I used $X = op $Y too often
19:11 nopaste "fperrad" at 77.192.239.44 pasted "Lua Smolder with LWP" (63 lines) at http://nopaste.snit.ch/18142
19:12 fperrad darbelo, is it good with your make ?
19:12 dukeleto kurahaupo: do you think you could refactor the tests to call individually-and-usefully named functions? see t/library/test_more.t for a good example
19:13 kurahaupo dukeleto: will do.
19:13 dukeleto kurahaupo: it helps to have each test broken down into it's own scope and have an intention-revealing name
19:13 darbelo fperrad: checking. Also installing a few perl modules so 'make smolder' works
19:14 darbelo Hm. It fails to apply on top a previous patch.
19:14 kurahaupo Just checking something: a resizeableintegerarray should NOT allow negative indeces?
19:14 dukeleto kurahaupo: i would assume so, why?
19:15 dukeleto kurahaupo: you can use the throws_like function in test_more.pir to verify that code throws the correct exception for invalid code
19:15 Coke dukeleto : RIA is not necessary perlish.
19:16 darbelo fperrad: yeah, works.
19:16 kurahaupo Just wanted to make sure I'd translated the test correctly
19:17 darbelo 'cept I don't have lus in /usr/bin/
19:17 Coke hurm. looking at the code, it looks like the intention is for it to work, but it fails for me.
19:17 darbelo s/lus/lua/
19:17 nopaste "coke" at 72.228.52.192 pasted "this dies." (13 lines) at http://nopaste.snit.ch/18143
19:18 cotto_work Apparently OSS hackers need to be more careful about deferring null pointers: http://www.internetnews.com/dev-news/article.p​hp/3840686/Is+Linux+Code+Quality+Improving.htm
19:18 shorten cotto_work's url is at http://xrl.us/bfphaf
19:19 cotto_work shorten that
19:19 purl That URL is at http://xrl.us/bfphaj [xrl.us]
19:19 cotto_work shorten that
19:19 purl That URL is at http://xrl.us/bfphaj [xrl.us]
19:19 fperrad darbelo,on Smolder,  I see 2 empty reports (0 test ?) from openbsd
19:19 dukeleto Coke: what do you mean by that?
19:19 kurahaupo coke: thanks.
19:20 darbelo fperrad: That was me. There's no output becouse I don't have lua reachable in my $PATH.
19:20 preflex joined #parrot
19:20 dukeleto Coke: iirc, fixedpmcarray bombs out if you ask for a negative index.
19:21 cotto_work I thought that got fixed.
19:21 cotto_work recently
19:22 dukeleto cotto_work: i wrote the check. before that, parrot would coredump
19:22 cotto_work ok.  so now it throws an exception instead of exploding
19:23 dukeleto cotto_work: yes
19:24 cotto_work dukeleto, was there a reason not to do the perlish thing and use that as an index from the last element?
19:25 whiteknight our code quality is definitely improving, if for no other reason then because we are deleting the worst of it
19:25 kurahaupo dukeleto: the original (pmc) code didn't check the type of the exception, only the displayed text. And I've added a couple of extra exception checks, where it was apparent that the original code just failed for producing the "wrong output" when it would have thrown an exception.
19:26 Coke cotto_work: yes. we're not perl.
19:26 Coke given the hoops we're jumping through with shift/unshift on non-R?Arrays, I wouldn't expect anything perlish from any of our core pmcs. =-)
19:28 kurahaupo Just checking, the P6 idiom is @foo[*-$x] ? So a bald negative index actually doesn't make sense anyway
19:28 cotto_work It makes sense to me to implement that behavior, but at the same time HLLs will usually care about R*A subclasses, where they can implement dwimminess out the wazoo.
19:28 whiteknight if you weren't using the non-resizable arrays in the first place, you wouldn't need to worry about the shift/unshift garbage
19:28 * whiteknight blames the victim
19:29 Coke whiteknight: I cannot repeat this enough, apparently.
19:29 Coke whiteknight: the lack of shift doesn't bother me on PMCs /I/ create.
19:31 Coke given that partcl's indices are not bare negative numbers, it doesn't matter to me; I always have to pre-process the index.
19:33 dukeleto kurahaupo: that sounds great
19:35 iblechbot joined #parrot
19:50 preflex joined #parrot
19:52 fperrad darbelo, it seems you run only test which don't require Test.More
19:52 fperrad looks like export LUA_PATH has no effect
19:55 kurahaupo msg cotto I'll finish working on converting test(s) to PIR before starting on string handling
19:55 purl Message for cotto stored.
19:57 dalek parrot: r41582 | rblasch++ | trunk/docs/book/pir/ch03_basic_syntax.pod:
19:57 dalek parrot: [book] Fixed typo.
19:57 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41582/
19:59 cotto_work kurahaupo, great.  one thing at a time
20:00 TimToady phone
20:04 davidfetter joined #parrot
20:07 kurahaupo Some of the original tests (of ResizeableIntegerArray) used "elements" to get the size of the array; should I just use implicit integer conversion ($I0 = $P0), or is there a more "standard" way?
20:10 Austin Well, you're testing.
20:10 Austin You should do both, until you prove what you expect.
20:11 Austin Then whatever you like.
20:11 cotto_work kurahaupo, I'd answer that question by making sure that the integer conversions do the same thing as elements (check get_integer in src/pmc/resizableintegerarray.pmc), but I think the approach is fine.
20:13 hercynium joined #parrot
20:18 darbelo fperrad: those exports cause errors if I run them out of the Makefile
20:19 darbelo What are you using them for? Maybe I can figure out a portable alternative.
20:19 kurahaupo There doesn't appear to be an "elements" opcode in PIR ?
20:20 particle i believe it's a method on the pmc
20:20 kurahaupo OK
20:20 kurahaupo Will add that as a new test
20:20 particle as in $I0 = $P0.'elements'()
20:20 theory joined #parrot
20:20 treed elems?
20:21 treed I thought there was an opcode for it.
20:21 treed that turns into a vtable
20:21 * particle forgets, it's been a while...
20:22 fperrad darbelo, i want set environment variables (used by lua & parrot-lua)
20:24 bacek joined #parrot
20:24 Austin =item B<elements>(out INT, invar PMC)
20:28 mokurai joined #parrot
20:30 kurahaupo treed: "elems $I1, $P0" says "error:imcc:syntax error, unexpected IREG, expecting '(' ('$I1')"
20:32 kurahaupo My mistake, there is an "elements" opcode after all. Maybe I just needed more sleep (it's 09:32am here now)
20:33 treed heh
20:33 nopaste "fperrad" at 77.192.239.44 pasted "patch V2 for Lua Makefile" (36 lines) at http://nopaste.snit.ch/18144
20:33 kurahaupo However calling an "elements" method still looks broken.
20:33 treed Where?
20:34 treed Rakudo?
20:34 purl rumour has it Rakudo is horribly slow too
20:34 treed That's true, purl.
20:34 purl treed: i'm not following you...
20:34 treed but Cardinal is worse :-(
20:34 NotFound There is no elements method.
20:35 kurahaupo NotFound: OK, I won't test for it then. :-)
20:39 whoppix joined #parrot
20:40 Austin_away joined #parrot
20:44 fperrad darbelo, on openbsd, use 'env' instead of 'export'
20:45 pmichaud in PIR, it's 'elements'
20:46 pmichaud in Perl 6, it's .'elems' .  But AFAIK none of the built-in PMCs implement an 'elems' method.
20:47 pmichaud given a ResizablePMCArray, is there an easy way for me to remove any duplicate entries?  ("duplicate" here means that the same PMC occurs multiple times within the RPA)
20:48 kurahaupo fperrad: "export" is a standard command within the POSIX shell, while "env" is a standard external POSIX command; does that make any difference to your context?
20:49 darbelo fperrad: the problem here is the ;; which the shell wil treat as a syntax error.
20:49 darbelo using env has the same problem.
20:51 NotFound Are you using export in a Makefile?
20:52 fperrad darbelo, the shell export needs double quoting,
20:52 fperrad the gmake export doesn't need it
20:52 Austin pmichaud: I've got Array::unique. But sadly it does what you fear, and is O(n**2)
20:54 NotFound export is semi-standard
20:54 NotFound The standard form is export name , export name=value is an extension.
20:55 fperrad NotFound, which export ? gmake one or shell one
20:55 NotFound fperrad: sh
20:56 kurahaupo fperrad: also, if you have "export foo=bar ; cmd" you can also write it as "foo=bar cmd" (note lack of ";")
20:56 kurahaupo Of course "bar" may need quoting
20:57 NotFound But that surely doesn't work in windows
20:57 darbelo using export in makefiles considered harmful.
20:58 fperrad currently, i want : export foo=bar && cmd
20:58 kurahaupo Using anything that modifies process context in Makefiles is bound to cause trouble because it doesn't persist between lines
20:58 NotFound No trouble then. Just doesn't work.
20:58 fperrad in openbsd.org manual, I found env but not export
20:59 kurahaupo Export is in the manual for "sh" because it's a built-in
20:59 kurahaupo As is the "foo=bar cmd" syntax
20:59 NotFound It hardly can work if not a builtin.
20:59 kurahaupo I mean, it's built into the shell
21:00 fperrad kurahaupo, yes like cd. So we chain commands with &&
21:00 kurahaupo "env" is a separate binary that can be invoked as a command
21:01 darbelo fperrad: env is a separate prgram, so it has it's own manpage. export is ksh built in.
21:01 NotFound export modifies the environment of the current process, so using it as a called command is a nice way of losing time.
21:02 particle1 joined #parrot
21:08 darbelo fperrad: Also I was missing a submodule update.
21:10 Coke particle1: $I0 = elements $P0 is valid.
21:10 darbelo Put the varaibles into my environment by hand. smolder reports All tests successful.
21:10 * Coke catches up and sees this has been covered.
21:10 Coke pmichaud: not that I'm aware of.
21:10 Coke I would recommend sorting and then walking through the array.
21:11 darbelo http://smolder.plusthree.com/app/pu​blic_projects/report_details/28406
21:11 shorten darbelo's url is at http://xrl.us/bfphv8
21:11 Coke I could write you a PIR method you can tack on to the core PMC... (except that's not going to be supported going forward, IIRC.)
21:13 pmichaud sort... on what?
21:14 Austin get_addr
21:14 purl get_addr is deprecated anyway, going to be removed after 1.4 I think
21:14 pmichaud I think I'll just use get_addr as the keys in a hash, then.
21:14 fperrad darbelo, happy to see this report 28406
21:14 PerlJam If only PMCs had a method that returned a unique id per PMC ...  :)
21:15 darbelo Yeah, that is with your Makefile patches and the LUA_* variables manually placed into my environment.
21:15 nopaste "Austin" at 98.235.55.43 pasted "get_address_of in NQP" (13 lines) at http://nopaste.snit.ch/18145
21:16 pmichaud right, I was hoping for something a little more sophisticated than get_addr
21:16 pmichaud I'll go with get_addr for now then
21:16 Austin What are you trying to do?
21:16 PerlJam pmichaud: why are you using an RPA in the first place?
21:16 fperrad darbelo, patch http://nopaste.snit.ch/18140 cannot work
21:16 fperrad try patch http://nopaste.snit.ch/18144
21:18 PerlJam Austin: are you spreading a bad meme?  Just think of all the code that will need to be changed when we get a compacting GC if everyone starts using get_addr as a unique id for their PMCs
21:18 PerlJam :-)
21:18 Austin :) There was a unique id generator PMC I think, but nobody has owned up to making it a core opcode.
21:19 Coke PerlJam: you mean, if he wants uniqueness?
21:20 Coke now that hash keys can be pmcs, that's not a terrible question.
21:20 darbelo fperrad: Sorry, *not* both patches. Just the other one. I just removed the exports.
21:21 Coke austin; if there's a pmc, why need an opcode?
21:21 PerlJam Coke: oh, that's right ... but it stringifies the PMC to get the key right?
21:21 Coke perljam;not anymore, I think.
21:21 Coke but I could be wrong.
21:21 pmichaud yes, I'm a bit worried about that
21:21 Coke I thought it was "real" pmc key support. (or else, why bother?)
21:21 Austin perljam: No, it checks for a hashkey vtable. Default behavior for the 100% of pmcs that don't implement it is stringify.
21:22 pmichaud oh
21:22 pmichaud hashkey vtable might work
21:22 Coke that seems reasonable except for the 100% implemented part.
21:22 Coke (un)
21:22 bacek joined #parrot
21:23 cotto_work NotFound, reply to tt #1083 posted
21:24 Austin Coke: I appear to be wrong. I can't find such a pmc in my current parrot.
21:25 NotFound cotto_work: non temporary cstrings is a different problem
21:25 cotto_work Ok.  For temporary cstrings, it's a great solution.
21:25 darbelo fperrad: still doesn't work if I remove the LUA_ var from the environment. But I can live with that.
21:26 Austin Coke: We'll just put 7 VTABLE hashkey() { return get_addr(); }  in the default pmc for now...
21:26 pmichaud Austin: that's what worries me -- a lot of code will break if/when we do that.
21:27 Austin if/when we do that and what?
21:27 pmichaud if we add a VTABLE hashkey() to the default pmc
21:28 pmichaud and if the default Hash uses it instead of stringification
21:28 Austin You're saying that adding a vtable will cause breakage? Or a hashkey vtable?
21:28 pmichaud we *really* ought to have a different PMC aggregate for PMC keys
21:29 pmichaud I'm saying that a lot of code assumes that    hash[$P0] = 'foo'    will use the string value of $P0 as its key
21:29 Austin Mkay.
21:29 bacek Good morning
21:29 pmichaud if Hash changes so that it uses hashkey(), and the default hashkey() is changed to be get_addr, then the hash keys end up changing
21:30 pmichaud and existing code that relies on the stringification behavior breaks.
21:30 Austin Well, the present default is string. I was just winding Coke up.
21:30 pmichaud there really should be two different Hash PMC types
21:30 cotto_work good morning bacek
21:30 pmichaud one that uses strings as keys, and one that uses PMC (hashkey) as keys
21:30 pmichaud trying to get a single Hash to serve both purposes is going to be problematic
21:31 bacek pmichaud: why?
21:31 pmichaud bacek: for the reason I just outlined above
21:31 pmichaud 21:29 <pmichaud> I'm saying that a lot of code assumes that    hash[$P0] = 'foo'    will use the string value of $P0 as its key
21:31 bacek current VTABLE_hashvalue do stringification
21:32 pmichaud will that be true for all PMCs?
21:32 pmichaud Let me give a real example.
21:32 pmichaud Let's suppose I have a Match object
21:32 bacek But now we can implement Integer.hashvalue to calculate hashvalue without casting to string
21:33 pmichaud bacek: and if we do that, would    hash[0]  still end up being the same as  hash['0'] ?
21:33 pmichaud or, more to the point
21:33 pmichaud if I have
21:33 pmichaud $P0 = box 1;   $P1 = box '1';
21:33 cconstantine joined #parrot
21:33 pmichaud are hash[$P0] and hash[$P1]  the same entry?
21:33 Austin I'd expect so.
21:33 bacek hash[$P0] and hash[$P1] are same
21:33 Austin Simply because the "big 4" types behind scalars are so interchanged.
21:34 pmichaud back to my other example
21:34 nopaste "fperrad" at 77.192.239.44 pasted "Lua Makefile with export only when gmake" (15 lines) at http://nopaste.snit.ch/18146
21:34 pmichaud let's suppose I have a Match object
21:34 pmichaud sometimes I'm interested in its string value -- i.e.,   I want   hash[match]   to use the string value of 'match' as its key
21:34 pmichaud sometimes I'm interested in its identity, i.e., I want   hash[match]  to use its address as key
21:35 pmichaud the difference isn't in match, it's in the hash being used to store it
21:35 pmichaud i.e., hash-with-string-keys is common enough that it deserves to be its own type
21:35 bacek no, difference is how you calculate hashvalue.
21:35 purl okay, bacek.
21:35 Austin That's the part I have a problem with.
21:35 pmichaud bacek: how do I get a match object to have two different hashvalues?
21:36 fperrad darbelo, now I try simple thing
21:36 bacek pmichaud: with current VTABLE architecture - only by subclassing.
21:36 Austin Or stringifying first, no?
21:36 Austin ~ $match
21:37 bacek pmichaud: but anyway, switch to PMC keys is manual. Default behaviour is stringification
21:37 darbelo fperrad: Trying to modify the shell environment in makefiles is pretty much impossible to do portably.
21:37 bacek hash = new ['Hash']
21:38 bacek hash = .Hash_key_type_PMC
21:39 pmichaud Austin: "stringifying first" would tend to mean (in a HLL sense) that I need a separate Hash that always stringifies its keys
21:39 pmichaud bacek: I'm more comfortable with that approach, yes.
21:39 pmichaud bacek: however it feels weird to overload hash assignment for this purpose.
21:39 pmichaud I'd prefer that it be set at the point when the Hash is created
21:40 pmichaud hash = new ['Hash'], ...
21:40 Austin pmichaud: The separate Hash approach fails when you've built a class hierarchy on Hash. (E.g., PCT)
21:40 Austin Make it a method.
21:40 pmichaud method++
21:40 Austin It's not like you're going to call it a lot :)
21:41 bacek pmichaud: Hash.init_pmc isn't used (yet). So we can implement "hash = new ['Hash'], ...'
21:41 pmichaud I think method is better for now
21:41 bacek OTOH it will require more lines of code in PIR.
21:41 preflex joined #parrot
21:41 Austin bacek: Runtime is better, imo
21:41 Austin What, 1?
21:41 bacek Austin: it is runtime.
21:41 pmichaud anyway, as long as the default behavior is switchable on a per-Hash-instance basis, I'm good with that.
21:41 pmichaud bacek++  # was ahead of me a couple of steps
21:42 bacek :)
21:42 Austin $P0 = new 'Hash' ; $P0.'set_hashing_mode'('hashkey')
21:42 bacek How it differ from $P0 = .Hash_key_type_PMC?
21:43 Austin How do you do that in NQP?
21:43 bacek Q:PIR {{ ... }}?
21:43 Austin :(
21:43 bacek But I can add method for it :)
21:43 bacek Bah!
21:43 Austin %%attrs.set_hashing_mode('hashkey');
21:43 bacek I did it already :)
21:44 bacek Hash.set_key_type()
21:44 Austin Works.
21:44 bacek And Hash.set_value_type()
21:44 Austin And Hash.set_addr_type() ?
21:44 Austin (for Coke)
21:45 bacek You can use Int, Str or PMC as Key. Or any of bif 4 for values.
21:45 bacek What set_addr_type should do?
21:45 Austin Set the hash to use get_addr for the key, natch.
21:45 PerlJam ew
21:45 Austin :)
21:45 bacek I'm thinking about "set_hash_func". It's more generic
21:46 * PerlJam wishes he could simultaneously concentrate on N > 3 threads of conversation
21:46 bacek You just pass closure to calculate hashvalue.
21:47 japhb left #parrot
21:47 japhb joined #parrot
21:47 PerlJam bacek: what if you Hash.set_key_type(Int) and Hash.set_hash_func(<something that doesn't take Int>) ??  Does it blow up badly?
21:47 bacek Actually 2 closures. One for "hashvalue", one for "equal". Second is optional and defaulting to "VTABLE_equals"
21:48 bacek PerlJam: It can. Or can not.
21:48 bacek E.g. ".sub "my_hashfunc"; .param int foo; ... .end" will just work
21:50 PerlJam bacek: and .sub 'foo'; .param string foo; ... .end will .....  what?
21:50 bacek will work? I don't see why not.
21:51 dalek lua: aa61298 | fperrad++ | config/makefiles/root.in:
21:51 dalek lua: generate export only when gmake
21:51 dalek lua: review: http://github.com/fperrad/lua/commit/aa​61298efd208fcea3ea409ff91526c0812f3869
21:51 shorten dalek's url is at http://xrl.us/bfph58
21:51 bacek PerlJam: PCC cast value to proper native type.
21:52 nopaste "bacek" at 114.73.190.35 pasted "PCC param casting" (11 lines) at http://nopaste.snit.ch/18147
21:52 bacek PerlJam: check nopaste. PCC  DTRT
21:53 PerlJam yes.  bacek++ parrot++
21:55 bacek Anyway, time for $dayjob. See you soon!
22:00 dalek rakudo: d014a99 | moritz++ | src/ (3 files):
22:00 dalek rakudo: move log10 to setting
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​014a99f1c130d791f4a44ba2784b49582c5f7a4
22:00 shorten dalek's url is at http://xrl.us/bfph9b
22:00 dalek rakudo: 2d34081 | (Solomon Foster)++ | src/setting/ (2 files):
22:00 dalek rakudo: Add Int.unpolar and Num.unpolar.
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2​d340813e7fa962a209a969c6a73389c1927f569
22:00 shorten dalek's url is at http://xrl.us/bfph9d
22:00 dalek rakudo: d9cbe43 | moritz++ | src/setting/Complex.pm:
22:00 dalek rakudo: Complex.polar
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​9cbe43ae388b5130ab7dabda05f89ee42050254
22:00 shorten dalek's url is at http://xrl.us/bfph9f
22:00 dalek rakudo: 5159c42 | moritz++ | src/setting/Complex.pm:
22:00 dalek rakudo: Complex.roots
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​159c42574576b0f35d557f10c5e9ebca448e326
22:00 shorten dalek's url is at http://xrl.us/bfpdv4
22:00 dalek rakudo: cec4b04 | moritz++ | src/ (4 files):
22:00 dalek rakudo: roots() function and various partially related fixes
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c​ec4b04540b321734f831f2d66d17a852748843a
22:00 shorten dalek's url is at http://xrl.us/bfph9h
22:00 dalek rakudo: 65af3ca | moritz++ | src/setting/ (2 files):
22:00 dalek rakudo: can't use 'is export' on method sin because it kills multi dispatch
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​5af3ca0376198b88d0ccd3a37fc935407e5a704
22:00 shorten dalek's url is at http://xrl.us/bfph9j
22:00 dalek rakudo: 3566baf | moritz++ | src/setting/Complex.pm:
22:00 dalek rakudo: be smarter about NaN/Inf in roots()
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​566bafdbe1ed4d6fd2215c865620f619795aaef
22:00 shorten dalek's url is at http://xrl.us/bfph9o
22:00 dalek rakudo: 34e9a64 | moritz++ | src/setting/Complex.pm:
22:00 dalek rakudo: be smarter about Complex -> Num conversion: allow it if .im == 0
22:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​4e9a64a39551c38bb40b8bac7c22371e58fa061
22:00 shorten dalek's url is at http://xrl.us/bfph9q
22:00 dalek rakudo: e25aaba | moritz++ | :
22:00 dalek rakudo: Merge branch 'native-complex'
22:00 moritz holy shit, that was a merge commit - does dalek now report all individual commits in the branch?
22:00 dalek rakudo: This makes Complex a class purely defined in Perl 6, to avoid oddnesses where
22:01 dalek rakudo: methods defined in the parrot Complex PMC would not be overridable from
22:01 dalek rakudo: withing Perl 6.
22:01 dalek rakudo: colomon++ gets much credit for working on this branch.
22:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​25aaba3c7f12f2809235ee0d18d555ae0906fab
22:01 shorten dalek's url is at http://xrl.us/bfph9u
22:01 dalek rakudo: 1cd0864 | moritz++ | src/ (2 files):
22:01 dalek rakudo: move Num.ACCEPTS to the setting, and make Complex ~~ Num a bit smarter
22:01 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​cd0864e4171b8070fe37c2898e47b2e20f24b75
22:01 shorten dalek's url is at http://xrl.us/bfph9y
22:02 darbelo moritz: dalek reports based on the RSS feed.
22:02 whiteknight joined #parrot
22:03 cotto_work hi whiteknight
22:03 whiteknight top 'o the evenin' to you, cotto_work
22:04 cotto_work clock?
22:04 purl cotto_work: LAX: Wed 3:04pm PDT / CHI: Wed 5:04pm CDT / NYC: Wed 6:04pm EDT / LON: Wed 11:04pm BST / BER: Thu 12:04am CEST / IND: Thu 3:34am IST / TOK: Thu 7:04am JST / SYD: Thu 8:04am EST /
22:10 whiteknight shut up, it's evening here
22:10 * cconstantine agrees with whiteknight.
22:11 moritz evenin'o'clock
22:12 dalek rakudo: ffe6481 | moritz++ | docs/ChangeLog:
22:12 dalek rakudo: [docs] ChangeLog updates
22:12 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/f​fe648124f2c973e60d68fdec88438562d37411e
22:12 shorten dalek's url is at http://xrl.us/bfpia7
22:12 * whiteknight is getting excited about the hackathon on saturday
22:12 whiteknight I want to see everybody there, so we can kick PCC ass
22:13 cconstantine I'm trying to add a stage to my compile, and I want to generate an ast using my own types... is there a 'parrot' way of doing that?
22:14 * darbelo will probably be available only in the (local) morning.
22:17 cotto_work I just realized that my mom's going to be visiting from out of town this weekend, so it looks like another weekend will be spent doing worthwhile but non-parroty things.
22:17 whiteknight cconstantine: yes, there should be
22:17 cotto_work (or most of it, at least ;)
22:17 whiteknight PCT has a way to add stages to the compilation process
22:17 cconstantine whiteknight: are there docs for that?
22:18 whiteknight cconstantine: of course there should be a way to specify the PMC type in the PAST definitions
22:18 whiteknight cconstantine: probably not as many as there should be
22:18 whiteknight ask pmichaud
22:18 cotto_work cconstantine, look for addstage in the PCT source
22:18 cotto_work It's a nice extensible framework, but a little intimidating at first.
22:18 whiteknight a lot intimidating
22:19 whiteknight it's a world-class freaking compiler generator.
22:19 cconstantine cotto_work: code == documentation?
22:19 cotto_work possibly.  There's a lot of inline POD
22:19 whiteknight cconstantine: the code is well documented in most places
22:19 cconstantine better than my code tends to be :)
22:20 cconstantine my code at work tends to have a ton of docs for the interfaces, and nothing for how it works
22:20 whiteknight well, that's mostly what you need
22:20 cconstantine thats what I figure
22:20 cconstantine if you want to know *how* it works, the code describes that
22:22 cconstantine ok, I have a test that adds stages
22:23 cconstantine like, a parrot test, not one of mine :)
22:23 cotto_w0rk joined #parrot
22:24 whiteknight which test?
22:25 cconstantine parrot/t/compilers/pct/pct_hllcompiler.t
22:25 slavorg joined #parrot
22:26 particle joined #parrot
22:28 whiteknight oh nice
22:30 * cconstantine loves his 'g' alias
22:31 darbelo g?
22:31 purl g is a gonzo!
22:31 cconstantine alias g='find . |grep -v -e ".git" |grep -v -e ".svn" |xargs grep'
22:32 treed just use ack?
22:32 darbelo cconstantine: You don't know about ack, do you?
22:32 szbalint ack++
22:32 cconstantine hush you!
22:34 dukeleto cconstantine: greping out .svn directories is painfully slow for large hierarchies. that is why ack rulez
22:34 Coke (winding coke up) this is not a fun game and I wish you'd stop playing.
22:34 dukeleto ack also has type=parrot for searching only parrot-like files. very useful
22:35 Austin I found it useful to define a PCT type, to ignore .pir files.
22:37 darbelo whiteknight: I can't see src/gc/gc_malloc.c built anywhere, is that right?
22:38 whiteknight darbelo: no, I think that's ripe for the pickin'
22:39 Coke (hackathon) I saw mention of this in a blog post. Should be on the calendar.
22:39 whiteknight oh, that's a good idea
22:40 whiteknight we mentioned it in #ps, and on the wiki, but calendar is good too
22:40 Coke #ps isn't advertising.
22:40 Coke assume no one reads that. and the wiki isn't good for announcment-y things.
22:40 darbelo whiteknight: 'kay. Killing...
22:41 Coke whiteknight: let me know if you need privs to modify the calendar.
22:41 whiteknight I'm sure I will
22:42 whiteknight Master Coke is hording all the cool privs, it looks like
22:42 Austin Boy, I'm sure there's a "Coke hoard" joke there...
22:43 Coke more like I volunteered to do shit once and got stuck with it.
22:43 Coke young (*&@# whippersnappers.
22:43 Coke whiteknight?
22:44 purl i guess whiteknight is mailto:wknight8111@gmail.com or the grand master funk or http://wknight8111.blogspot.com/
22:44 whiteknight on google?
22:45 Coke permission granted.
22:45 whiteknight awesome
22:45 Coke whiteknight: go to www.parrot.org; you can hit the calendar there.
22:45 dalek parrot: r41583 | darbelo++ | trunk (10 files):
22:45 dalek parrot: Remove the old and unused 'malloc' gc.
22:46 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41583/
22:46 Coke I went through and added a bunch of release dates in there; that'll need to be updated too.
22:46 cconstantine I might have to look up this 'ack' thing you speak of
22:46 Coke betterthangrep.com
22:47 Coke ack?
22:47 purl rumour has it ack is at http://search.cpan.org/dist/ack/ or at http://petdance.com/ack/ or awesome or a grep-like tool for working-copies
22:47 Coke no, ack is http://betterthangrep.com or a grep-like tool for code.
22:47 purl okay, Coke.
22:47 kid51 joined #parrot
22:48 whiteknight it's definitely better then grep
22:48 darbelo japhb: ping
22:48 cconstantine I've written a better-grep for log parsing... but it's at amazon
22:49 whiteknight well it does nobody any good over there
22:49 cconstantine it does them good ;)
22:49 cconstantine except I was the only one that ever used it..
22:52 cconstantine and it solved a pretty specific log grepping problem, I've never needed it since
22:56 whiteknight Done
23:02 japhb darbelo, pong
23:03 nopaste "kid51" at 71.247.53.254 pasted "pcc_reapply branch: build failure on Darwin/PPC at r41583" (507 lines) at http://nopaste.snit.ch/18148
23:04 darbelo do you have any plans for plumage's temp directory handling?
23:04 darbelo just checking out stuff into ./ looks wrong to me.
23:05 japhb darbelo, OH, I completely agree.  I was going to address that yesterday, but I ran out of brain
23:05 japhb A few next tasks:
23:05 japhb * checkout tree
23:05 japhb * user config
23:06 japhb * exception handling
23:06 darbelo we could just use a tmp/ dir and ckeckout stuff into tmp/project-name, for less directory pollution, but I think that's still half-wrong.
23:06 japhb * more projects (all of the proto projects?)
23:06 japhb * command line options
23:06 japhb That should be enough to carry us for a bit
23:06 zak_ joined #parrot
23:08 darbelo I'll see if I can get us fetch-build-installing partcl tonight. Tackle whatever task that leads me to.
23:08 * darbelo loses focus when he doesn't have a tangible goal.
23:09 Coke partcl doesn't install.
23:09 japhb I don't blame you.
23:09 japhb :-)
23:09 Coke good luck with that. =-)
23:09 darbelo Coke: Any particluar blockers there? What prevents you from having a "make install" target
23:10 Coke darbelo: not enough tuits.
23:11 darbelo Coke: I'll see if I have enough tuits to make that happen for you then.
23:11 darbelo Expect patches.
23:14 Coke darbelo: you want a commit bit? you can just work in a branch.
23:14 darbelo Sure, what are the rules?
23:15 Coke same as parrot.
23:15 darbelo Ok. Increase the build. Don't break the awsome.
23:15 Coke (because I was too lazy to make own rules) Also code belongs to parrot foundation, etc.
23:15 Coke email addy to feed to googlecode?
23:15 darbelo Yeah, I'm CLAed, etc.
23:16 darbelo purl, me?
23:16 purl hmmm... darbelo is Daniel Arbelo Arrocha <mailto:arbelo@gmail.com>
23:16 darbelo That one.
23:16 purl rumour has it that one is silly to.  It's an impl detail, right
23:16 Coke done.
23:16 Coke http://code.google.com/p/partcl/source/checkout
23:17 darbelo Cool. I'll deface the wiki later :)
23:17 * Coke finds a ticket to assign...
23:17 darbelo 60?
23:17 purl hmmm... 60 is nothing... 5 days straight seperates the men from boys... :)
23:17 Coke heh, yes.
23:17 Coke assigned.
23:17 Coke have fun. =-)
23:18 darbelo Looks like I will.
23:19 patspam joined #parrot
23:21 Coke docs.parrot.org updated to 1.6.0
23:22 Coke (needs an account on parrotvm.osuosl.org to do.)
23:24 nopaste "kid51" at 70.85.31.226 pasted "pcc_reapply branch: build failure on Linux/i386 at r41583" (505 lines) at http://nopaste.snit.ch/18150
23:25 cconstantine whiteknight: yeah, so beside that test is there a better place to get examples of how to add a new stage?
23:26 whiteknight pmichaud
23:26 purl hmmm... pmichaud is http://www.pmichaud.com/ or "Patrick R. Michaud" <mailto:pmichaud@pobox.com> or in charge of toaster experiments or a friendly guy :)
23:26 whiteknight ask the source
23:26 Coke toasters?
23:26 purl toasters are cheap, man.
23:26 Coke toasters are also cylons.
23:26 purl okay, Coke.
23:31 cconstantine whiteknight: are you going to force me to solve my own problems? ;)
23:33 whiteknight force is such a strong word
23:33 whiteknight and it suggests that I'm not too lazy to do something
23:33 nopaste "kid51" at 70.85.31.226 pasted "diff between recent trunk build and failed build on pcc_reapply (Linux/i386)" (317 lines) at http://nopaste.snit.ch/18151
23:34 cconstantine hehe
23:38 whiteknight kid51: yeah, I've been getting segfaults in miniparrot too
23:38 whiteknight I had it traced back to an uninitalized context somewhere
23:39 kid51 FYI, I'm working from the SVN branch, not from anywhere on github
23:40 darbelo kid51: The SVN branch is the right place to be. github was only used to get the patch that was applied to the svn branch.
23:41 darbelo It aws an experiment by allison to see if git's merging machinery was better for the job at hand than svn's.
23:44 mikehh kid51, whiteknight - me too
23:44 jrtayloriv cconstantine, I've been looking at this today too, but I'm not sure I understand it. It looks like to create a stage 'foo' you just add a method for HLLCompiler called 'foo' that does what you want, and call $P0.addstage('foo'), ( with optional 'before'/'after' argument to set when it occurs) from your_language.pir (where $P0 holds your HLLCompiler object).
23:44 whiteknight okay
23:44 whiteknight so that's a known issue. There's an uninitialized context somewhere getting up in my business
23:45 cconstantine jrtayloriv: thanks.  I've been following the code trying to trace it out
23:45 cconstantine jrtayloriv: I'm coming to the same conclusion, but I don't have proof yet
23:46 cconstantine jrtayloriv: and I'd like to see how the stages communicate with each other
23:47 nopaste "kid51" at 70.85.31.226 pasted "Same make corevm failure on Linux, not at r41584." (504 lines) at http://nopaste.snit.ch/18152
23:48 mikehh I think I need to reboot - bbl
23:48 nopaste "kid51" at 70.85.31.226 pasted "diff between recent trunk build and failed build on pcc_reapply (Linux/i386) (1 warning fixed)" (315 lines) at http://nopaste.snit.ch/18153
23:50 kid51 laundry calls
23:50 dalek parrot: r41584 | jkeenan++ | branches/pcc_reapply/src/pmc/nci.pmc:
23:50 dalek parrot: Fix unterminated C comment noted by warning during 'make corevm'.
23:50 dalek parrot: review: https://trac.parrot.org/parrot/changeset/41584/
23:52 jrtayloriv cconstantine, You said you are working on macro evaluation? I'd be interested in seeing what you're doing with that if you get any code written. I came to the same conclusion earlier -- needing extra stages -- for dealing with macros/quasiquoting properly ... do you have an SVN/Git/Whatever repo up?
23:53 darbelo say, do we need the old pcc branches for anything?
23:54 dukeleto probably not, it just confuses people
23:54 dukeleto darbelo: but i would ask allison first
23:54 dukeleto before deleting it
23:55 darbelo msg allison Do we need the old pcc branches for anything? Having three different branches with similar names can confuse people.
23:55 purl Message for allison stored.
23:56 cotto_ joined #parrot
23:59 allison darbelo: pcc_arg_unify can go, I've extracted all changes
23:59 darbelo How about _2_0?
23:59 allison darbelo: keep pcc_arg_unify_2_0 for now, since it includes some changes that didn't go into the new branch

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

Parrot | source cross referenced