Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-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:03 whiteknight joined #parrot
00:08 whiteknight good evening, #parrot
00:09 whiteknight if I had a dollar for every time it was awesome for Gnome to freeze and need to be forcibly restarted, I'd have no dollars
00:12 whiteknight plobsing: plobsing++ for doing all that work on the frontend_parrot2 branch! I don't have any hard requirements for it. Obviously more work to do but this is a good stopping point. I'll send an email to parrot-dev about a merge
00:14 plobsing ubuntu is an easy on-ramp for windows users. they wouldn't feel comfortable without having to reboot now and then.
00:21 whiteknight I can't tell where the problem is either. I don't know if it happens in unity, or in gnome, or somewhere deeper in the stack
00:22 whiteknight but the screen freezes up and becomes unresponsive (though the mouse still moves) sometimes when I close the laptop lid
00:22 whiteknight so I switch to a different tty, do a service gdm restart, and login again
00:23 cotto_work whiteknight: I very occasionally get freezes too and I'm running fluxbox as the window manager.
00:25 plobsing my dwm only freezes up when firefox blocks all the cpu/memory. I've taken to running it under nice with some quotas.
00:25 whiteknight firefox behaves when I threaten to switch to chrome
00:25 plobsing funny, I had the same experience with liferea (rss reader)
00:26 whiteknight the more I use chrome, the more I like it. I use it a lot when I'm at work
00:26 plobsing hasn't worked for a year. last week, I started looking into different solutions, and wouldn't you know it, it works like a charm.
00:26 whiteknight I do my development in firefox because it has hot plugins. I do all my personal stuff in chrome
00:27 soh_cah_toa yeah, new firefox eats up *a lot* of resources
00:27 plobsing it usually works fine if you disable scripts
00:27 plobsing *which is probably a good idea anyways
00:27 whiteknight plobsing: Can you comment on TT #1916 with some kind of grand master plan?
00:27 whiteknight I'm inclined to say "yeah, we're not going to do that"
00:28 plobsing it would cut down on vtables
00:28 whiteknight soh_cah_toa: they claim some future release, like Firefox 47.6 will have better memory usage
00:28 whiteknight plobsing: can we do freeze/thaw without those vtables? is Visit enough?
00:28 plobsing whiteknight: yes
00:28 soh_cah_toa i doubt it
00:29 plobsing freeze/thaw are always called immediately prior to visit
00:29 whiteknight plobsing: you know that system better than I do. I haven't taken the time to really learn it, because I haven't hit a high level of frustration yet
00:29 whiteknight you keep it running so well, that I don't need to complain about it
00:30 plobsing freeze/thaw are for leaf-nodes (ints, nums, strings). visit is for non-leaves (pmcs). the distinction is no longer useful.
00:30 plobsing since we do both visits simultaneously
00:31 whiteknight ok
00:32 whiteknight man, I have too much email
00:32 plobsing I can work on clearing out some of the deprecations this week (I have a week or two free until $work starts)
00:32 whiteknight I only have the attention span to deal with like 3 or 4 at a time, so when I get hit with a huge trac bomb it screws me up for a week
00:33 whiteknight plobsing: yeah, I have some deprecations I want to kill too. The kill_threads branch is high on my list
00:33 whiteknight we'll be able to close a dozen tickets at least when that ship sails
00:43 whiteknight plobsing: if you have time, pick a project you want to work on. I'm sure you've got some really great ideas just dieing to get out
00:44 plobsing I put more than my fair share of tickets into track. I might as well pay up now and then.
00:45 whiteknight there's a reason tickets hang around for so long: because it's not fun to deal with them
00:45 whiteknight NotFound: ping
00:47 whiteknight my preferred strategy is to take the things that tickets complain about, and delete them outright. Then, the tickets are suddenly invalid :)
00:49 cotto_work whiteknight: have you talked to jnthn__ about the copyright on the 6model code?
00:54 nbrown joined #parrot
01:00 herat joined #parrot
01:00 whiteknight cotto_work: no
01:00 whiteknight I haven't talked to him at all since I started that branch.
01:01 whiteknight I pinged him a few times.
01:04 whiteknight plobsing: I'm failing a few codetests on the frontend_parrot2 branch. I'll get those knocked off tomorrow probably
01:07 woosley joined #parrot
01:08 plobsing codetests? huh. I thought I tried those.
01:08 whiteknight I never run codetests until I'm ready to merge
01:09 whiteknight and I'm always disappointed
01:10 plobsing blarg. where did these fails come from?
01:10 * plobsing goes and runs fulltest again
01:11 whiteknight soh_cah_toa: ping
01:11 soh_cah_toa whiteknight: PONG!
01:12 whiteknight soh_cah_toa: you're release manager for september
01:12 soh_cah_toa yup
01:12 whiteknight PREPARE FOR PAIN
01:12 soh_cah_toa uh oh
01:12 whiteknight also, we're going to make sure it's a good one
01:14 soh_cah_toa do you think it's possible to have the new debug segment by then or is that another release away?
01:14 dalek parrot/whiteknight/kill_threads: 50322ad | Whiteknight++ | t/src/embed.t:
01:14 dalek parrot/whiteknight/kill_threads: You don't need to pass the parent interp reference when you create a new interp now.
01:14 dalek parrot/whiteknight/kill_threads: review: https://github.com/parrot/parrot/commit/50322ada08
01:14 soh_cah_toa i'm thinking the next one
01:14 soh_cah_toa but that's just a guess
01:15 plobsing soh_cah_toa: your the release manager, it's your call
01:15 whiteknight soh_cah_toa: probably a release away. We're probably going to merge whiteknight/frontend_parrot2. Probably whiteknight/kill_threads
01:15 plobsing s/your/you're/
01:15 whiteknight msg dukeleto I GOT YOU A PRESENT: https://github.com/parrot/parrot/commit/50322ada08
01:15 aloha OK. I'll deliver the message.
01:15 soh_cah_toa 6model maybe?
01:15 whiteknight soh_cah_toa: maybe, sure
01:15 soh_cah_toa ok
01:16 whiteknight I think that branch is passing most tests right now, but we need to coordinate with NQP folks to make sure it works
01:16 soh_cah_toa around what time before the release should i start doing "release manager things"?
01:17 soh_cah_toa i was thinking within the next few days
01:17 whiteknight soh_cah_toa: I suggest you give it a quick practice run a few days before
01:17 soh_cah_toa ok
01:18 whiteknight about a week before, send an email to parrot-dev with your plan (when the code freeze will be, what to focus on, when the release will be cut)
01:18 whiteknight the kill_threads branch might be a problem. Right now, callbacks are broken
01:18 whiteknight so I need to find a way to fix that
01:19 plobsing whiteknight: should be easy - have them default to synchronous callbacks (current default is async)
01:19 plobsing then cut out all the async bs
01:19 whiteknight Yeah, what it needs is just some time spent staring at it
01:19 whiteknight and if I can drool a little with my mouth agape, that's bonus points
01:24 * whiteknight is heading to bed. Goodnight
01:28 jsut_ joined #parrot
01:28 awwaiid_ joined #parrot
01:32 cotto ~~
02:15 kid51 joined #parrot
02:21 lateau left #parrot
02:25 dalek parrot: c5bc4dd | jkeenan++ | config/gen/config_pm.pm:
02:25 dalek parrot: Dedupe elements in embed-ldflags.
02:25 dalek parrot: review: https://github.com/parrot/parrot/commit/c5bc4dd685
02:25 dalek parrot: 714a2f7 | jkeenan++ | / (6 files):
02:25 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
02:25 dalek parrot: review: https://github.com/parrot/parrot/commit/714a2f72e9
02:26 kid51 whiteknight wrote: "they claim some future release, like Firefox 47.6 will have better memory usage."  Don't *we* make that claim? ;-)
02:27 soh_cah_toa joined #parrot
02:28 plobsing kid51: mozilla is a bigger fish than we. I'd hold them to a slightly higher standard.
02:29 dalek parrot/whiteknight/frontend_parrot2: d4e10b7 | plobsing++ | frontend/parrot2/prt0-old.pir:
02:29 dalek parrot/whiteknight/frontend_parrot2: remove old prt0
02:29 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/d4e10b744c
02:29 dalek parrot/whiteknight/frontend_parrot2: 9c436c0 | plobsing++ | MANIFEST:
02:29 dalek parrot/whiteknight/frontend_parrot2: mk_manifest_and_skip
02:29 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/9c436c0887
02:29 dalek parrot/whiteknight/frontend_parrot2: 1873b7e | plobsing++ | frontend/parrot2/ (2 files):
02:29 dalek parrot/whiteknight/frontend_parrot2: codingstd fixups
02:29 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/1873b7eeb4
02:29 dalek parrot/whiteknight/frontend_parrot2: 19a36c4 | plobsing++ | t/codingstd/copyright.t:
02:29 dalek parrot/whiteknight/frontend_parrot2: ignore missing copyright in generated files
02:29 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/19a36c410b
02:30 herat joined #parrot
02:33 plobsing msg whiteknight fixed codetest problems on frontend_parrot2. thanks for pointing those out. we should be good to go now.
02:33 aloha OK. I'll deliver the message.
03:02 benabik msg whiteknight I think jnthn is on vacation for a week or two, so it'll probably be a while before you hear back from him.
03:02 aloha OK. I'll deliver the message.
03:07 kid51 msg whiteknight Getting build failure in frontend_parrot2 branch on Darwin.  Will post details in a.m.
03:07 aloha OK. I'll deliver the message.
03:30 nbrown joined #parrot
04:20 tadzik frontend_parrot2 build fails here: https://gist.github.com/1180175
05:00 dukeleto ~~
05:01 tadzik hello dukeleto
05:04 dukeleto tadzik: wazzup
05:05 dukeleto whiteknight++ # my hero
05:07 tadzik dukeleto: oh, holiday time slowly becomes learning time
05:20 logie joined #parrot
05:35 dalek rakudo/nom: 53b1d8f | tadzik++ | src/Perl6/Grammar.pm:
05:35 dalek rakudo/nom: Fix S02-whitespace_and_comments/begin_end_pod.t
05:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/53b1d8f27f
05:38 SHODAN joined #parrot
06:23 fperrad joined #parrot
07:25 mj41 joined #parrot
07:34 dalek parrot/whiteknight/frontend_parrot2: 25edcb4 | NotFound++ | frontend/parrot2/ (2 files):
07:34 dalek parrot/whiteknight/frontend_parrot2: fix C++ build
07:34 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/25edcb4abc
07:53 muixirt joined #parrot
08:24 lucian joined #parrot
08:28 baest joined #parrot
08:37 jsut joined #parrot
08:44 jsut_ joined #parrot
08:49 ambs joined #parrot
09:44 woosley left #parrot
10:00 preflex_ joined #parrot
11:17 mls joined #parrot
11:18 mls Hi, anybody here to discuss a invoke/callcontext feature?
11:19 mls (needed to fix a rakudo memory leak)
11:21 nine cotto: pong
11:31 Kulag joined #parrot
11:47 moritz mls: I guess your chances are better when the US awakes again
11:52 mls ok, will try again later...
12:10 Coke or the dev list.
12:12 redicaps joined #parrot
12:13 kid51 joined #parrot
12:14 nopaste "kid51" at 192.168.1.3 pasted "frontend_parrot2 build failure on Darwin at 19a36c410" (561 lines) at http://nopaste.snit.ch/75977
12:16 kid51 Note: This box does have gmp and has built Parrot in master thousands of times.
12:28 arnsholt Who was the hero who moved Parrot from SVN to git?
12:49 JimmyZ joined #parrot
13:04 JimmyZ joined #parrot
13:14 lucian anyone know the URL for the google code repo?
13:22 baest joined #parrot
13:22 JimmyZ code.google.com ?
13:30 bluescreen joined #parrot
13:32 RobertLJ joined #parrot
13:33 lucian JimmyZ: i meant parrot's repo
13:33 lucian for gsoc
13:37 Coke arnsholt: dukeleto did a lot of the work.
13:37 Coke even better, we started out with CVS.
13:44 bubaflub lucian: http://code.google.com/p/google-sum​mer-of-code-2011-parrot-foundation
13:47 dukeleto arnsholt: i did most of it, with lots of help from cotto
13:49 lucian bubaflub: ah. thanks
13:57 cosimo joined #parrot
14:19 muixirt left #parrot
14:21 whiteknight joined #parrot
14:21 whiteknight good morning, #parrot
14:24 tadzik good morning whiteknight
14:24 whiteknight hello tadzik
14:41 logie joined #parrot
14:54 JimmyZ_ joined #parrot
15:03 NotFound whiteknight: pong
15:07 whiteknight good morning NotFound
15:07 NotFound Good evening
15:07 whiteknight I need a way to call get_root_global from Winxed. I am working on a patch that adds a "using root parrot.Foo.Bar.baz" syntax. Does that sound like a good idea?
15:08 dmalcolm joined #parrot
15:08 whiteknight using Foo.Bar.baz calls get_hll_global, and I can't see any obvious way to call get_root_global
15:09 NotFound whiteknight: for functions, vars, or both?
15:09 whiteknight at the moment, functions.
15:09 whiteknight I mean, the same thing should be usable for vars too, right?
15:10 ambs joined #parrot
15:10 NotFound At some point, but the ideas for accessing global vars are not mature yet.
15:11 whiteknight I ran into the problem because I was putting my new javascript compiler code in the JavaScript hll namespace, but I'm trying to call things from Rosella which are in "parrot"
15:13 NotFound I must fix the HLL modifier usages, but that may take a while.
15:13 NotFound Let me try a few things...
15:14 whiteknight okay, the patch to add "using root" is very simple, I'll keep that around in case you want it
15:15 dukeleto mls: what did you want to talk about?
15:28 mls hi dukeleto!
15:29 mls jnthn uses a little hack in the reakudo ops to do a kind of tailcall without modifying the arguments
15:29 dukeleto mls: howdy!
15:29 dukeleto mls: link to the code?
15:30 mls (function perl6_enter_multi_dispatch_from_onlystar_block in perl6.ops)
15:30 mls He does a "Parrot_pcc_set_signature(interp, cur_ctx, cur_ctx);" before calling invoke
15:30 dukeleto mls: do you have a link to the code on github? which branch are we talking about?
15:30 mls nom.
15:32 mls https://github.com/rakudo/raku​do/blob/nom/src/ops/perl6.ops
15:32 mls lines 713-737
15:33 mls The idea is to reuse the current callcontext
15:34 mls works pretty well, but there's a memory leak: sub's invoke() allocates a new set of registers and the old ones don't get freed
15:36 mls So I "fixed" it locally by adding a Parrot_pcc_free_registers(interp, cur_ctx) call before calling invoke
15:36 mls With that change, no memory is leaked. But I need to patch parrot, as Parrot_pcc_free_registers is not exported
15:37 mls So I see two ways: either export Parrot_pcc_free_registers or change parrot so that it frees the old registers if the current ctx is reused
15:38 JimmyZ mls: which is better?
15:39 mls Well, both work. The question is what you parrot guys think about reusing the call context. Should that be an "official" way?
15:39 whiteknight yeah, callcontexts are objects which the user can modify to a certain degree
15:39 plobsing mls: that's wrong
15:39 mls what exactly is wrong?
15:39 plobsing if the subs are from different packfiles you will get very confusing errors
15:39 whiteknight I thought the callcontext freed the register set on gc destroy?
15:39 plobsing you shouldn't reuse the callcontext
15:40 whiteknight why not reuse it, if you update the namespace and hll values?
15:40 whiteknight you'll lose backtrace frames, but that's not horrible in all cases
15:40 plobsing I believe we have something that does that already
15:41 plobsing but doing it *manually* is wrong
15:41 plobsing I recall morph being the way to do it, but I could be wrong
15:42 mls background: this is to invoke perl6 multis: there's a little stub that chooses the correct sub and then invokes it. That's why it *has* to get rid of the backtrace frame
15:42 plobsing mls: if you just want to get rid of the backtrace, you could tailcall
15:42 mls Yes, it's a lightweight tailcall. A tailcall that doesn't modify the args
15:43 whiteknight CallContext.morph resets some things but is horribly ugly
15:43 plobsing whiteknight: but it is *supported*
15:43 whiteknight plobsing: it shouldn't be
15:43 plobsing which means when parrot changes, things don't fall down around us
15:43 mls That's why I'm asking on this list: we need some supported way for rakudo
15:43 plobsing which *will* happen if rakudo goes off and pokes into our calling conventions at such a deep level
15:43 whiteknight CallContext.morph is used to reuse the context as the return call
15:44 whiteknight that's not what he wants, I don't think
15:44 whiteknight and either way, it's very specialized and crufty. We should put a better interface onto it
15:44 plobsing mls: is nom at the point where you have to be doing these optimizations? isn't it a little premature?
15:44 jnthn__ mls: ooh, you found the leak!
15:44 jnthn__ mls++
15:45 mls Well, jnthn needs to answer that...
15:45 mls Ah, speaking of jnthn... welcome back!
15:45 jnthn__ Appears I just got back from the airport at a useful point :)
15:46 jnthn__ oh, *that's* what was leaking. huh... :S
15:46 jnthn__ That change got a > 30% speed improvement on multi invocation. I'd rather patch it not to leak that lose it.
15:46 jnthn__ s:2nd/that/than/
15:47 mls (it leaks 40 bytes per multi invokation)
15:47 atrodo jnthn__> 30% over doing it which way (curious)
15:47 plobsing jnthn__: there has been talk about changing callcontext and pcc more generally. when that happens your optimization will probably cease to work
15:48 jnthn__ atrodo: Creating a fresh call context.
15:49 atrodo jnthn__> Okay, that makes a lot of sense
15:49 whiteknight We want the ability to more flexibly reuse callcontexts
15:49 whiteknight so that patch is a small version of what we would like to have in the future
15:49 atrodo whiteknight> Or make them cheaper?
15:49 jnthn__ plobsing: That's fine, I don't consider that optimization covered by deprecation policy. But I do expect Parrot devs to look at this as "we should provide a sane way to do something like this".
15:50 whiteknight atrodo: yes, cheaper will happen too, but we want the ability to reuse them too
15:50 plobsing I think this situation begs for call arguments and execution context to be separated
15:50 whiteknight plobsing: arguably, yes
15:50 atrodo whiteknight> Yes, both would be ideal
15:50 jnthn__ heh. They got unified only a year or so ago :P
15:50 whiteknight they were unified for the wrong reasons. It did speed up some benchmarks, but killed other optimization opportunities
15:51 mls Anyways, the patch I was suggesting was to change invoke to free the registers if caller_ctx == context
15:51 whiteknight mls: put together a pull request?
15:51 mls before calling Parrot_pcc_allocate_registers
15:51 whiteknight mls: We can review it that way
15:52 arnsholt dukeleto: Did you write up a sketch of how you did it or something?
15:52 whiteknight jnthn__: you have a few spare moments to chat about 6model?
15:53 arnsholt We have a ginormous SVN repo here at uni I'm considering looking into moving to git, and some previous experiences seem like a good idea to start with
15:53 dukeleto arnsholt: possibly, a long time ago. It was mostly "git svn clone + git filterbranch + pixie dust + sweat and tears"
15:54 dukeleto arnsholt: this might be interesting to you: https://github.com/leto/Util/tr​ee/master/bin/parrot_conversion
15:54 arnsholt Right. I'll look into that and svn2git then. Thanks!
15:54 arnsholt Ooh, that does look interesting. Cheers!
15:56 dukeleto arnsholt: read this: http://blog.woobling.org/20​09/06/git-svn-abandon.html
15:56 dukeleto arnsholt: i did a simpler version of that.
15:56 mls diff: https://gist.github.com/1181233
15:56 dukeleto arnsholt: i didn't do any grafting, tho
15:57 mls Another way would be to change Parrot_pcc_allocate_registers to free the old register set if some are already allocated
15:57 jnthn__ whiteknight: Not right now - just back from a few day trip away.
15:57 dukeleto arnsholt: what does ginmorous mean? how many svn commits? How big (on disk) is the entire svn repo and how big is a current checkout?
15:57 jnthn__ whiteknight: Can find time soon though.
15:58 whiteknight jnthn__: okay, I've started the move to parrot core. branch whiteknight/6model. It's mostly a copy+paste effort so far.
15:58 mls Maybe patching Parrot_pcc_allocate_registers is the cleaner way
15:59 jnthn__ whiteknight: ok :)
15:59 arnsholt dukeleto: Don't recall how many commits, but on-disk size of about 6 gigs IIRC
16:01 dukeleto arnsholt: of one revision, or entire history?
16:01 dukeleto arnsholt: also, the size of the largest file in the history is important. If you have massively sized files, git will run out of memory
16:01 arnsholt That last might be a problem
16:02 dukeleto arnsholt: git assumes all files can be mmap'ed, and occasionally has a few of them in memory, so the largest file should be <= 1/3 of the RAM
16:03 arnsholt I'm not very familiar with the repo (it belongs to the research group I'm doing my PhD with) but IIRC there are some biggish files in there
16:04 arnsholt Part of my position is supposed to be non-research tasks (education, collecting and collating resources and such) and lobbying for git might be a semi-productive thing to do
16:14 jevin joined #parrot
16:21 jevin joined #parrot
16:55 nbrown joined #parrot
17:04 cotto_work ~~
17:05 cotto_work nine: pong
17:10 benabik joined #parrot
17:58 * Coke points at TT #2184 - looks mergable to me now.
17:58 Coke NotFound++ # btw.
17:58 nine cotto_work: been offline for a couple of days due to my girlfriend moving in
18:06 cotto_work nine: was that what you pinged me about?
18:17 cotto_work whiteknight: is the rosella build broken?
18:19 whiteknight I didn't think so
18:19 whiteknight I can look at it in a bit
18:23 nopaste "cotto_work" at 192.168.1.3 pasted "rosella build log" (83 lines) at http://nopaste.snit.ch/76046
18:23 nine cotto_work: nope...just replied to your ping :)
18:24 cotto_work nine: ok.  What are your thoughts on the current threading code?  Do you think you'd benefit from ripping it out yourself or do you want to start from a Parrot without any attempts at thread-awareness?
18:25 cotto_work or do you think there's enough there to be worth saving
18:25 whiteknight cotto_work: ah, probably a quick typo from last night. I'll fix it up soon
18:28 whiteknight nine: I started a branch whiteknight/kill_threads to rip out threads. Much of the work is done, but you're welcome to participate in it if you want
18:28 whiteknight or, I can scrap the branch and you can do it your own way
18:28 whiteknight or, you can make me do the rest of the work and feast upon the results
18:37 dalek parrot/all-hll-test: bc79ad6 | cotto++ | tools/dev/all_hll_test.pl:
18:37 dalek parrot/all-hll-test: add winxed, rosella and lua, localize %ENV
18:37 dalek parrot/all-hll-test: review: https://github.com/parrot/parrot/commit/bc79ad63bb
18:39 nine cotto_work: I think the glue code for OS threading support may come in handy at some point. Other than that I think a non-threaded greenlet/tasklet/whateverlet implementation will be a good first step.
18:39 nine whiteknight: I'll have a good look at your branch tomorrow :)
18:42 whiteknight awesome. it's pretty hack'n'slash
18:53 davidfetter joined #parrot
18:55 davidfetter_ joined #parrot
18:59 contingencyplan joined #parrot
19:11 dalek Rosella: 11c26f7 | Whiteknight++ | src/ (5 files):
19:11 dalek Rosella: It looks like Winxed is generating nonsensical get_attribute_i_p_s opcodes sometimes. Fix those so Rosella builds again
19:11 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/11c26f7c22
19:13 lucian joined #parrot
19:18 dukeleto cotto_work++ # all-hll-test branch
19:19 cotto_work dukeleto: the question now is how to best glue it together.
19:19 cotto_work I'm thinking something like aloha, except that it only yells when something's broken.
19:20 cotto_work and provides a link to the relevant output
19:22 whiteknight in a few days, you can add jsop to that as well. It has a small test suite now
19:23 whiteknight actually, nevermind. It has all sorts of external dependencies right now
19:24 * cotto_work doesn't mind
19:24 dukeleto cotto_work: i like rss feeds
19:26 cotto_work dukeleto: I was thinking an irc bot.
19:27 dukeleto cotto_work: multiple forms of notification are best
19:29 cotto_work dukeleto: I want to get it working as quickly as possible.  Once it's in a minimum viable form, we can make it be a proper solution.
19:29 cotto_work #ps in now
19:30 lucian joined #parrot
19:31 benabik joined #parrot
19:32 dukeleto cotto_work: works for me
19:33 lucian joined #parrot
19:35 davidfetter joined #parrot
19:47 RobertLJ1 joined #parrot
19:50 dalek winxed: 7324131 | NotFound++ | winxedst1.winxed:
19:50 dalek winxed: fix ZeroCheckerExpr, some == 0 and != 0 were generating wrong code
19:50 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/73241310af
19:56 lucian plobsing: I've had issues with trying to work around the implicit self in winxed code
19:56 plobsing ah, see, winxed forwards the implicit self that IMCC provides
19:57 plobsing you can work around it by not using winxed's class syntax sugar
19:57 lucian And my winxed code was supposed to be callable from python
19:57 lucian Yeah, that's what I ended up doing
19:57 lucian I fetch the method, then call it
19:58 plobsing if you add_method a normal (non-method) sub to a class, it gets the invocant as the first param, as python expects
19:58 lucian But it still leaves find_method on python objects broken
19:58 lucian But python doesn't expect that at all
19:59 plobsing lucian: how so? find_method is just get_attr_keyed_str in python, is it not?
19:59 lucian Google python bound methods if you're curious
19:59 * lucian can't google efficiently from his phone
19:59 lucian Ah, yes
19:59 lucian Must've misunderstood
20:00 lucian But there's no self passed to the method
20:01 lucian Let c be an instance of C, c.foo is a bound method, with self already curried in
20:02 plobsing so set up the closure yourself
20:02 lucian But C.foo does take self as argument
20:02 dalek winxed: 2e0995e | NotFound++ | / (3 files):
20:02 dalek winxed: update installable files and NEWS
20:02 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/2e0995ee77
20:02 lucian That's what I was doing, but had some odd failures
20:02 lucian Gave up on find_method
20:03 plobsing can you report those failures?
20:03 lucian Not now, no internet (just on this phone)
20:05 NotFound How does native python deal with that? Checking at runtime?
20:05 plobsing ok, but please do so eventually, find_method is key to hll-interop. if it isn't working for you, that's a problem we should fix.
20:06 lucian NotFound: check what at runtime?
20:06 NotFound It the thing to be called need self as argument.
20:07 lucian No, functions use descriptors
20:07 lucian When you try to get an attribute that isn't an attr on the obj, but is on the class, it let's that class attr describe itself
20:08 lucian Functions describe themselves as bound methods (closures over self)
20:11 lucian it does happen at runtime, so you weren't wrong
20:15 zby_home joined #parrot
20:24 kj joined #parrot
20:29 dalek parrot: 49f09cd | NotFound++ | ext/winxed/ (2 files):
20:29 dalek parrot: update winxed snapshot to 2e0995ee77
20:29 dalek parrot: review: https://github.com/parrot/parrot/commit/49f09cde1d
20:35 cotto_work hio kjs
20:35 cotto_work long time no see
20:45 kjs hey cotto_work
20:45 kjs yeah i know
20:47 dalek TT #2187 created by plobsing++: "Constant Table" is misleading
20:47 dalek TT #2187: http://trac.parrot.org/parrot/ticket/2187
20:52 bluescreen joined #parrot
20:52 cotto_work kjs: rl happens.  You're welcome back whenever you find the time.
20:53 kjs :-) thanks! I'm kinda in lurking mode now ;-)
20:56 RobertLJ1 joined #parrot
21:13 dukeleto oops
21:13 benabik oops?
21:13 dukeleto accidentally banned the number 5
21:13 kj joined #parrot
21:14 benabik Ah.  What were you trying to do?
21:19 dukeleto benabik: nothing. Hence the oops.
21:24 davidfetter_ joined #parrot
22:04 soh_cah_toa joined #parrot
22:17 soh_cah_toa cotto_work: so what's going on w/ m0 lately? haven't heard much talk about it in a while
22:23 cotto_work soh_cah_toa: atm I'm thinking about how to get our HLLs some regular testing.  I want to change the deprecation policy, but I want to have my suggested alternative implemented and working (fsvo) before I throw the idea out there.
22:26 soh_cah_toa cotto_work: you mean actually writing tests for hll's yourself or providing a framework for hll's to write their own tests?
22:27 cotto_work soh_cah_toa: running their tests
22:29 soh_cah_toa ah, i kinda like that idea. so we'd offer a hll-independent test harness that hll's can tailor to their language (or use "out of the box")
22:30 rfw joined #parrot
22:30 cotto_work soh_cah_toa: no.  just have a script that builds parrot, builds HLLs and runs the tests they already have
22:30 soh_cah_toa oh i see
22:30 cotto_work make test or parrot setup.pir test (or whatever)
22:33 soh_cah_toa neat
22:33 soh_cah_toa what's changing about the deprecation policy?
22:37 cotto_work soh_cah_toa: I'd rather post about it once hll testing script is ready to go.
22:37 soh_cah_toa sure
22:37 cotto_work hopefully, a lot
22:45 plobsing I'm fairly sure nobody is happy about the dep policy at this point
22:46 plobsing so (a lot changes)++
23:02 bubaflub joined #parrot
23:18 Coke joined #parrot
23:25 Coke joined #parrot
23:25 Coke cotto_work: let me know if you need help setting up either of the partcl's. Happy to skip any currently failing tests so we at least don't get regressions.
23:27 cotto_work Coke: if you can make test pass (by skipping tests or otherwise), I'll be happy to add it to the script.
23:31 kid51 joined #parrot
23:32 Coke joined #parrot
23:34 whiteknight joined #parrot
23:38 Coke_ joined #parrot
23:41 dalek ohm-eta-wink-kzd: fc66dfb | plobsing++ | bootstrap/winxed-compiler.dual:
23:41 dalek ohm-eta-wink-kzd: differentiate between "new A" and "new A()" winxed syntax
23:41 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/fc66dfb1a8
23:41 dalek ohm-eta-wink-kzd: 3f86a77 | plobsing++ | bootstrap/ometa-base.winxed:
23:41 dalek ohm-eta-wink-kzd: Failer doesn't have a winxed constructor
23:41 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/3f86a7721c
23:42 dalek ohm-eta-wink-kzd: 545843b | plobsing++ | src/OMetaWinxed (2 files):
23:42 dalek ohm-eta-wink-kzd: rebootstrap
23:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/545843b84a
23:42 dalek ohm-eta-wink-kzd: e125b43 | plobsing++ | t/character-classifier.Ωη:
23:42 dalek ohm-eta-wink-kzd: ometa grammars don't have winxed constructors
23:42 dalek ohm-eta-wink-kzd: review: https://github.com/plobsing/ohm​-eta-wink-kzd/commit/e125b43c10
23:42 soh_cah_toa plobsing: what's ohm-eta-wink-kzd?
23:42 plobsing soh_cah_toa: it is ometa for winxed
23:43 plobsing but I called it Ωη;)XD
23:43 soh_cah_toa what's ometa?
23:43 plobsing *github doesn't allow those chars and were good sports about not banning me for a potential injection attack
23:43 Coke joined #parrot
23:44 soh_cah_toa aha! i get it :)
23:44 plobsing soh_cah_toa: ometa is a generalization of PEG (parsing expression grammars), which in turn is more or less a pretty syntax over recursive descent parsing
23:45 plobsing ometa is more general than PEG in that it can match arbitrary iterables, not just strings. so for example, it can transform ASTs as well as generating them in the first place.
23:46 soh_cah_toa wow, interesting. can't believe i never heard of that before
23:47 plobsing PEG is kinda new and hasn't caught on much since up until recently it was thought to have bad complexity compared to other algorithms
23:47 plobsing but then they came up with packrat, which ometa also does
23:48 soh_cah_toa i haven't really delved into anything outside cfg's
23:49 plobsing not even lalr? that's everywhere.
23:49 Coke joined #parrot
23:49 soh_cah_toa a little bit, but the dragon book is really confusing in those chapters
23:54 Coke_ joined #parrot
23:55 plobsing joined #parrot
23:57 kid51 There have been some additional commits to whiteknight_parrot2 branch by NotFound, but they don't solve the build failure on Darwin I reported earlier today.
23:58 kid51 Whereas master builds fine on Darwin and fails only the select.t test previously reported.
23:59 kid51 soh_cah_toa: As next release manager, you will have to monitor these test failures and press for a solution.
23:59 plobsing kid51: that's the -lgmp problem correct?
23:59 kid51 plobsing: Yes.

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

Parrot | source cross referenced