==== Channel ##pypy: 12/02/05 ====

[00:00] <lac> FFII has new president, and dear god does he want to make new proposals.

[00:00] <hpk> oh, today was the general assembly?

[00:00] <lac> Ok, will get at it then, then.

[00:00] <cfbolz> lac: whew

[00:00] <lac> no was Tuesday,

[00:00] <hpk> ah, then heise.de didn't report on it ... they did report on fights within FFII though

[00:00] <lac> I know all about that.

[00:00] <hpk> just before the assembly

[00:00] <hpk> i imagine

[00:01] <lac> but the new president is a dark horse that announced candidacy at the last minute.

[00:01] <lac> after much bashing of heads the night before.

[00:01] <lac> the problem is that he knows FFII too poorly.

[00:01] <lac> we can fix that but he types a bout as quickly as Alex.

[00:02] <lac> I cannot keep up with him.

[00:02] <cfbolz> hehe

[00:04] <xorAxAx> lac: how is he called?

[00:04] <xorAxAx> jonas?

[00:04] <arigo> merge time?

[00:04] <xorAxAx> .oO(midnight merge)

[00:05] <arigo> hpk: now we're really going to use the tool :-)

[00:05] <hpk> arigo: ok, i am looking ...

[00:05] <braintone> arigo - r20556 - (pedronis, arigo) Fixed a bit the interface in genllvm -- we need to pass an entry point. It would be nice if the back-ends could converge to some common base interface :-/

[00:08] <braintone> arigo - r20557 - (pedronis, arigo, hpk looking :-) Starting the merge of the somepbc-refactoring branch. Step 1: the trunk changes on these files have been ported to

[00:10] <hpk> ups, i almost hit control-c accidentally

[00:10] <arigo> :-/

[00:10] <arigo> a bit scary, this check-in

[00:10] <arigo> D dist/pypy/interpreter :-)

[00:11] <arigo> plus 70 other files

[00:11] <hpk> might break some tests

[00:11] <arigo> possibly

[00:11] <braintone> arigo - r20558 - Merging, step 2: deleting all the files from the trunk

[00:12] <arigo> we're making a patchwork of history...

[00:13] <braintone> arigo - r20559 - Merging, step 3: copy relevant files and directories from the branch.

[00:14] <arigo> argh!

[00:14] <arigo> wazzagoinon ?

[00:15] <hpk> also this method of merging breaks a number of .svntrigger'd "svn ups"

[00:15] <arigo> ah sorry

[00:15] <arigo> no, everything seems to befine

[00:16] <arigo> why does it break svn up's ? because they fail to delete the directories completely (because they're full of .pyc files), and then they cannot be re-added ?

[00:16] <hpk> exactly

[00:16] <arigo> :-(

[00:20] <arigo> the problem is really the lack of an atomic rm / cp-from-somewhere-else

[00:20] <arigo> it's a limit of the client, btw

[00:20] <hpk> right

[00:21] <hpk> we even did manage at some point to trick the WC into doing it, didn't we?

[00:21] <arigo> a custom tool could allow you to do that... (um)

[00:21] <arigo> hpk: yes, there is a trick but only for directories

[00:22] Action: hpk considers calling it a day

[00:22] <arigo> indeed

[00:23] Action: arigo reports to tomorrow thoughts about merge.py calling svnserve directly to do the merge as a single commit

[00:36] <arigo> def __init__(self, w_type, w_value, tb=None):

[00:36] <arigo> E assert w_type is not None, w_value

[00:36] <arigo> > AssertionError: "global name 'htons' is not defined"

[00:39] _hannes (n=yuuhu@i577B442D.versanet.de) left irc: Read error: 104 (Connection reset by peer)

[00:44] Action: lac is away: bed

[00:44] <cfbolz> good night!

[00:44] <lac> I am off to bed now. take care all.

[00:45] <hpk> take care!

[00:47] <arigo> 'night!

[00:47] arigo (n=arigo@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: ""g""

[00:55] cfbolz (n=cfbolz@p54ABBEA3.dip0.t-ipconnect.de) left irc: "Leaving"

[01:09] <braintone> pedronis - r20560 - update test_boehm (still skipped and in need of a diffent approach)

[01:11] stakkars (n=tismer@i577B442D.versanet.de) joined #pypy.

[01:15] <braintone> pedronis - r20561 - Translator -> TranslationContext

[01:29] <braintone> pedronis - r20562 - Translator -> TranslationContext

----- silence for 50 minutes -----

[02:19] <braintone> pedronis - r20563 - mostly last round of Translator -> TranslationContext

[02:22] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) left irc: Client Quit

----- silence for 57 minutes -----

[03:19] xyz359 (n=xyz359@pool-68-238-168-248.tampfl.fios.verizon.net) left irc: "http://www.purepwnage.com/";

----- silence for 45 minutes -----

[04:04] pedronis (n=Samuele_@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: Remote closed the connection

----- silence for 19 minutes -----

[04:23] stakkars (n=tismer@i577B442D.versanet.de) left irc: Read error: 110 (Connection timed out)

----- silence for 2 hr and 20 minutes -----

[06:43] <lac> /whois braintone

----- silence for 28 minutes -----

[07:11] Action: lac is back

[07:11] <lac> morning all

[07:17] <Rhamphoryncus> yo

[07:21] <lac> if you are in calgary, then you are up late. (or was it edmonton)?

----- silence for 56 minutes -----

[08:17] adim (n=adim@logilab.net2.nerim.net) joined #pypy.

----- silence for 17 minutes -----

[08:34] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: Excess Flood

[08:35] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy.

----- silence for 29 minutes -----

[09:04] <lac> hi adrian. do you know when you and ludovic will be arriving?

[09:04] <adim> lac: Hi

[09:04] <adim> lac: let me find the paper

[09:05] <adim> Our plane lands monday at 5.30 pm

[09:07] <lac> Monday the 5th?

[09:07] <adim> yes

[09:07] <adim> I don't know if we'll try to come directly after that, or the day after in the morning

[09:08] <lac> this is the night you want to stay at my house?

[09:08] <lac> I thought that was the third ....

[09:08] <adim> lac: there's a kind of misunderstanding

[09:08] <lac> i can tell.

[09:09] <adim> When i contacted you, I though the sprint was starting on the 7th

[09:09] <lac> aha.

[09:09] <adim> so I asked if we could come and work at your place on the 6th

[09:09] <adim> (only work, btw, no sleeping)

[09:09] <lac> aha. and I thought '2 days earlier than sprint thought'

[09:10] <lac> er 'than sprint starts'

[09:10] <adim> probably my fault, I should have been more precise

[09:10] <adim> sorry for that

[09:11] <adim> Did you make any plan in consequence ?

[09:11] <lac> no problem. the conclusion is that you no longer want to stay at my house at all, correct?

[09:11] <adim> correct

[09:12] <lac> No plans have been made, but I believed that the house was full on the 3rd. Now it isn't

[09:12] <adim> your flat ? full ?

[09:12] <adim> wow

[09:12] <adim> :)

[09:12] <lac> and so if people want to stay here I can say 'yes' rather than 'yes, floor'

[09:12] <adim> I see

[09:13] <lac> well, not the flat, but the 4 beds. Now is only 2 beds.

[09:14] <lac> thank you for clearing this up.

[09:14] <adim> no problem, thank you for hosting the sprint :)

[09:14] ericvrp (n=eric@ericvrp.demon.nl) joined #pypy.

[09:14] <lac> no problem. :-)

----- silence for 30 minutes -----

[09:44] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) joined #pypy.

[09:52] <mwh> morning

[09:54] <adim> Hi Michael

[10:04] cfbolz (n=cfbolz@p54AB97F5.dip0.t-ipconnect.de) joined #pypy.

[10:04] <cfbolz> Hi!

[10:05] <adim> Hi

[10:11] <lac> morning all

[10:12] <cfbolz> hi laura, hi adrien!

[10:13] <mwh> ok, so ideas for 'this week in pypy' welcomed

[10:13] <cfbolz> mwh: the submitting of the CCC papers?

[10:13] <cfbolz> the branch, obviously

[10:13] <mwh> oh yes, ccc

[10:16] <mwh> do the pdfs have stable urls?

[10:16] <cfbolz> yes

[10:17] <mwh> can you guess the next question? :)

[10:17] <xorAxAx> :-)

[10:18] <adim> do the urls have stable pdfs ? :)

[10:18] <cfbolz> adim: no

[10:18] <cfbolz> :-)

[10:19] <xorAxAx> looks like they are stable but secret :)

[10:19] <cfbolz> they are in extradoc/talk/22c3/{agility|techpaper}.pdf

[10:21] <hpk> reachable by prepending the http://codespeak.net/pypy/ prefix

[10:22] <cfbolz> hpk: yep. I assumed that michael knows this :-)

[10:22] <hpk> some redundancy never hurts

[10:22] <cfbolz> sure. just basic laziness. all these slashes and dots...

[10:24] <xorAxAx> hmm, in the agility paper, cfbolz's graphs: the plot has a low contrast already on the screen. i wonder how it looks like when its printed

[10:25] <xorAxAx> looks like an artefact of colour-to-bw conversion

[10:25] <cfbolz> well, usually the contrast on paper is _better_

[10:26] <cfbolz> and it looks quite nice on my screen, what sort of monitor do you have?

[10:26] <xorAxAx> LCD, notebook

[10:26] <xorAxAx> not gamma calibrated, highest brightness setting

[10:27] <xorAxAx> ah, the plot line is just a bit narrow

[10:27] <xorAxAx> acroread does antialiasing

[10:27] <xorAxAx> and that lets it look like a grey

[10:27] <cfbolz> yes, that is true

[10:28] <cfbolz> I know that problem too

[10:28] <xorAxAx> zooming in shows that its black and kinda narrow

[10:28] <xorAxAx> ok

[10:28] <cfbolz> I guess I should just print it once and see

[10:32] arre (i=11558c8f@1-1-5-33a.gfa.gbg.bostream.se) joined #pypy.

[10:33] arre (i=11558c8f@1-1-5-33a.gfa.gbg.bostream.se) left irc: Client Quit

[10:33] arre (i=edd9b1c1@1-1-5-33a.gfa.gbg.bostream.se) joined #pypy.

[10:33] arigo (n=arigo@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.

[10:33] <cfbolz> hi armin!

[10:33] <cfbolz> mwh: do you feel that "this week in pypy" is too meaningless to outsiders to also post it on your blog?

[10:33] <arigo> morning!

[10:34] <mwh> cfbolz: no, probably not

[10:34] <cfbolz> I guess it would be a nice way to reach people that don't want the whole of pypy-dev

[10:34] <mwh> and that'll end up on planet.python.org so will probably get reasonably widely read

[10:34] <cfbolz> yes, that's what I was thinking

[10:35] <cfbolz> don't know whether that makes sense to you

[10:35] <mwh> in fact i could post the old weeklies, one a day, until i catch up :)

[10:35] <cfbolz> :-)

[10:36] <cfbolz> it's the fourth one now, right?

[10:36] <arigo> mwh: should we finish off the XXX_later in rpbc.py? we still can't compile PyPy with multiple spaces :-)

[10:37] <mwh> eheh

[10:37] <mwh> cfbolz: no, fifth

[10:37] <cfbolz> ok

[10:37] <mwh> arigo: i guess we should :)

[10:39] <arigo> screen ?

[10:39] <mwh> ok

[10:39] <mwh> i'm a bit distracted right now, but i'll try to follow along :)

[10:39] <arre> arigo, mwh: Mind if i join you?

[10:39] <cfbolz> arigo: I will arrive in gtbg on saturday evening already, should we meet a bit on sunday or something?

[10:39] <mwh> hardly :)

[10:40] <arigo> arre: sure not

[10:40] <arigo> cfbolz: where are you staying?

[10:41] <mwh> arre: 80x42 :)

[10:41] <cfbolz> arigo: from sat-sun at laura's, later at sgs

[10:42] <arre> 80x42 it is!

[10:42] <arigo> ok, and when are you arriving Saturday ? (Samuele and me have something on Sunday, not sure when exactly...)

[10:43] <cfbolz> arigo: rather lateish, I think around 23.00

[10:43] <arigo> arre: pypy-sync

[10:43] <arigo> I see

[10:43] <arigo> I'll check when Samuele wakes up :-)

[10:44] <cfbolz> sure, I guess I can also just call you on sunday or something

[10:44] <arigo> yes

----- silence for 26 minutes -----

[11:10] <braintone> ericvrp - r20565 - Fixes from genjs. There is one fix I don't know how to do. Can someone please have a quick look?

----- silence for 29 minutes -----

[11:39] <braintone> arigo - r20566 - (mwh, arre-and-ericvrp-overlooking, arigo) Implemented multiple-specializations, multiple-functions PBCs.

[11:41] Gromit (n=klix@dialin-212-144-182-176.pools.arcor-ip.net) joined #pypy.

[11:42] Gromit (n=klix@dialin-212-144-182-176.pools.arcor-ip.net) left #pypy ("Leaving").

[11:50] <arigo> cfbolz: Samuele just waking up...

[11:50] <cfbolz> :-)

[11:50] <arigo> we have something tomorrow, not Sunday

[11:50] <arigo> :-)

[11:50] <cfbolz> ah, great

[11:52] pedronis (n=Samuele_@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.

[11:53] <cfbolz> pedronis: hi!

[11:53] <pedronis> hi

[11:54] <cfbolz> pedronis, arigo: I guess I will just give you a call when I get up on Sunday. I can't predict right now how stressful the travel will be (and thus how long I will sleep)

[11:55] <mwh> cfbolz: can i ask a rest question? :)

[11:55] <cfbolz> mwh: sure

[11:55] <cfbolz> (merlinux has infrastructure wps after all :-)

[11:55] <mwh> is there a way to make docutils start headings at a smaller heading than h1 ?

[11:56] <cfbolz> not easily

[11:56] <cfbolz> because docutils does not assume an ordering between the ways to underline something

[11:56] <cfbolz> let me think

[11:57] <mwh> i think http://starship.python.net/crew/mwh/blog/nb.cgi/edit/weblog/2005/12/02/1 looks a bit ridiculous

[11:57] <mwh> i could play css games, i guess

[11:57] <mwh> er, well http://starship.python.net/crew/mwh/blog/nb.cgi/ if that url doesn't work

[11:57] <cfbolz> hum, I see what you mean

[11:58] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: "I have a cunning plan... | Support ISO 8601! http://www.cl.cam.ac.uk/~mgk25/iso-time.html";

[11:59] <cfbolz> mwh: no, there is no way that I can think of

[11:59] <mwh> ok, css it is then

[12:00] <arigo> well you can add dummy headers, and strip them

[12:00] <cfbolz> mwh: yes, or you can underline the "this week in pypy 1" differently, then at least the rest gets smaller

[12:01] <mwh> hacking at the processing chain doesn't sound like fun

[12:01] <cfbolz> mwh: what blogging software is this? self-written?

[12:02] <mwh> newsbruiser

[12:03] <cfbolz> that is really the problem in rest: it's very cool for stuff it was made to be for and gets pretty annoying soon afterwards

[12:06] <mwh> ok, a little css hackery looks a little better

[12:06] <mwh> not actually good, i'd say, but better

[12:11] <cfbolz> could you try to underline "this week in pypy 1" with ----?

[12:11] <mwh> then it disappears (!?)

----- silence for 17 minutes -----

[12:28] Nick change: pedronis -> pedronis_afk

[12:40] <braintone> bea - r20568 - changes made based on Lauras feedback - thanks Laura - please check again if you have the time....

[12:43] Nick change: pedronis_afk -> pedronis

[12:52] adim (n=adim@logilab.net2.nerim.net) left irc: Read error: 104 (Connection reset by peer)

[12:54] adim (n=adim@logilab.net2.nerim.net) joined #pypy.

[13:00] <cfbolz> arigo: bea just invited me to her place for tomorrow. I guess we will see us there?

[13:02] <arigo> ok

[13:05] <braintone> cfbolz - r20569 - adding references + regeneration.

[13:14] <braintone> arigo - r20570 - (arigo and ericvrp) Fix for getting at exception_match function Fix for yield_frame_to_caller. (return value was overwritten) All but one test passes now. The last test is fails because structure fiel

----- silence for 24 minutes -----

[13:38] <ericvrp> * Notices that he had to install docutils to run py.test after my latest svn up

[13:39] <braintone> jacob - r20571 - Some clarifications and language changes.

[13:39] <jacob22|home> cfbolz: Can you regenerate the techpaper? I seem to be lacking some part in the chain.

[13:44] <cfbolz> jacob22|home: thanks a lot. yes, I wil regenerate

[13:45] <cfbolz> mwh: is british english now optimizations or optimisations?

[13:46] <xorAxAx> cfbolz: s

[13:46] <mwh> i can never remember

[13:46] <cfbolz> ok

[13:46] <cfbolz> you're not the only one :-)

[13:47] <mwh> the oed has z

[13:47] <xorAxAx> as z always shows that the speaker is from america or prefers american english :)

[13:47] <mwh> so that kinda settles it :)

[13:47] <mwh> xorAxAx: no

[13:47] <xorAxAx> mwh: at least according to my german2english dicts

[13:47] <xorAxAx> mwh: but interesting that oed doesnt agree

[13:47] <mwh> well, they are being simplistic, then

[13:47] <xorAxAx> hmm, ok

[13:48] <xorAxAx> so americans would write s?

[13:48] <mwh> when you append -ize to verbify a noun it's a z

[13:48] <cfbolz> ok

[13:48] <xorAxAx> optim, optimize?

[13:49] <cfbolz> optimum

[13:49] <xorAxAx> optimumize? :-)

[13:49] <mwh> i think

[13:49] <cfbolz> so it really is initialize, tokenize, specialize?

[13:50] <mwh> eh, actually i think it's all horribly inconsistent

[13:50] <mwh> there's a surprise

[13:52] <cfbolz> :-)

[13:52] <cfbolz> why can't you test these languages

[13:52] <cfbolz> really annoying

[13:52] <mwh> the oed definitely favours -ize for most things

[13:52] <xorAxAx> ah, ise is the french spelling

[13:52] <xorAxAx> Hence, some have used the spelling -ise in Eng., as in French, for all these words, and some prefer -ise in words formed in French or Eng. from L. elements, retaining -ize for those of Gr. composition. But the suffix itself, whatever the element to which it is added, is in its origin the Gr. -, L. -izre; and, as the pronunciation is also with z, there is no reason why in English the special French spelling should be followed, in opposition to

[13:52] <xorAxAx> ... is at once etymological and phonetic. In this Dictionary the termination is uniformly written -ize. (In the Gr. --, the i was short, so originally in L., but the double consonant z (= dz, ts) made the syllable long; when the z became a simple consonant, (-idz) became z, whence Eng. (-az).)

[13:53] <xorAxAx> ah, so they write ize because its more close to latin

[13:53] <xorAxAx> while somebody might want to use ise because it had a bigger impact because of francophone influences

[13:55] <cfbolz> jacob22|home: the changes really clarified some places. thanks a lot!

[13:57] <braintone> cfbolz - r20572 - try to stick to british spelling. regenerate pdf

----- silence for 38 minutes -----

[14:35] <thingie24> Is british spelling the official english dialect for PyPy?

[14:36] <cfbolz> thingie24: not necessarily

[14:36] <cfbolz> thingie24: we just randomly chose one since michael was the first native that corrected our paper :-)

[14:37] <mwh> let's do the next one in .nz english just to be confusing

[14:37] <cfbolz> nz?

[14:37] <xorAxAx> of course with transcribed accent :)

[14:37] <mwh> new zealand

[14:37] <thingie24> nz english has no accent, i can tell you this because I speak it :p

[14:37] <xorAxAx> LOL

[14:37] <cfbolz> they have even spelling?

[14:47] <braintone> arigo - r20573 - (mwh, pedronis, arre, arigo) Reintroduced the two-spaces PyPy target. With a few tweaks in the source of PyPy, this can now compile! Three weeks of refactoring...

[14:54] <cfbolz> cool

[14:54] arigo (n=arigo@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "afk"

[15:06] adim (n=adim@logilab.net2.nerim.net) left #pypy.

[15:07] adim (n=adim@logilab.net2.nerim.net) joined #pypy.

----- silence for 20 minutes -----

[15:27] <mwh> so for bin/translator

[15:28] <xorAxAx> i think its ok to expose a different interface to the new users that what to try it out

[15:28] <xorAxAx> or who uses it?

[15:29] <mwh> well, it's mentioned on getting-started

[15:30] <mwh> so either getting-started needs to change or bin/translator.py needs to be fixed or more likely a bit of both

[15:30] <xorAxAx> how about both?

[15:30] <cfbolz> mwh: as I said, I volunteer to fix getting_started on the sprint

[15:30] <xorAxAx> of course its more work, but then the new interface can be made simpler

[15:31] <mwh> well, there's also the issue of the internal interface to translation

[15:31] <mwh> at the moment it's pretty clunky

[15:32] <cfbolz> I see

[15:33] <braintone> pedronis - r20574 - Translator -> TranslationContext

[15:35] <pedronis> well, a possibility is to write a simpler wrapper around TranslationDriver

[15:39] <mwh> yes

[15:39] <mwh> how hard is it to be a client of TranslationDriver already?

[15:39] <pedronis> is not hard

[15:39] <pedronis> simply you want a wrapper because the interface

[15:39] <pedronis> is not nice

[15:39] <pedronis> for the command line

[15:39] <pedronis> I mean

[15:39] <mwh> right

[15:39] <pedronis> the command prompt

[15:41] <cfbolz> I would say you just nicefy the cmdline interface and I catch up with the docs later

[15:41] <cfbolz> the docs are not correct right now anyway

[15:42] <cfbolz> (maybe we should put a note there saying that)

[15:42] <mwh> yes, i think that's a good idea

[15:43] <cfbolz> basically we should advice people to use 0.8.0 for now

[15:43] <cfbolz> makes sense?

[15:44] <mwh> yes, i think so

[15:44] <cfbolz> ok, I'll do it

[15:46] <pedronis> the only thing is a bit how to do backend selection

[15:46] <cfbolz> why are the files in http://codespeak.net/pypy/dist/pypy/doc/getting-started-0.8.html called 0.7?

[15:47] <pedronis> ?????

[15:48] <pedronis> getting-started-0.8 should be removed

[15:48] <cfbolz> ok, I will do that too

[15:49] <braintone> cfbolz - r20575 -

[15:49] <pedronis> mwh: with the driver as it is you have to choose the backend upfront

[15:50] <pedronis> of course you can also not reuse a driver for two different backends

[15:50] <pedronis> but this was already quite broken with Translator

[15:50] <cfbolz> yes, it was quite messy

[15:50] <mwh> hmm, that's mildly annoyting

[15:50] <pedronis> because most steps are not idempotent

[15:50] <pedronis> etc

[15:50] <mwh> yes, indeed

[15:50] <mwh> bin/translator mentions the word 'hack' quite a lot in comments

[15:50] <cfbolz> well, I think we can rewrite getting-started accordingly

[15:51] <pedronis> we could allow to choose the backend once dynamically

[15:51] <pedronis> besically you can do compile_c

[15:51] <cfbolz> you mean not upfront?

[15:51] <mwh> how similar are the interfaces of the various backends?

[15:52] <pedronis> with driver.py

[15:52] <pedronis> ?

[15:52] <mwh> just in general

[15:52] <pedronis> in general, a mess

[15:52] <pedronis> they are onyl slightly different

[15:52] <mwh> :/

[15:52] <pedronis> driver.py papers this out

[15:53] <mwh> ok

[15:53] <pedronis> but is really a different issue

[15:53] <mwh> indeed

[15:53] <pedronis> a different refactoring

[15:53] <pedronis> a good one indeed, but not now

[15:54] <pedronis> my point was that we could have either

[15:54] <pedronis> t = Transl...(..., backend='llvm')

[15:54] <pedronis> t.compile()

[15:54] <pedronis> pick the backend

[15:54] <pedronis> with .compile_llvm()

[15:55] <pedronis> but once you call such a method the backend is fixed

[15:55] <pedronis> more DWIMish but also obscure

[15:55] <xorAxAx> the wrapper could call it dynamically :)

[15:55] <xorAxAx> i.e. create a new context on ...llvm call when c was used before

[15:56] <mwh> well, ideally you want to be able to do the steps separately and view the graphs after each step

[15:57] <pedronis> that's a different issue

[15:57] <pedronis> you can do

[15:57] <pedronis> t.annotate()

[15:57] <pedronis> t.compile()

[15:57] <pedronis> already with the driver

[15:57] <pedronis> compile will rtype for you in this case

[15:57] <pedronis> and generate source

[15:58] <mwh> ok

[15:58] <mwh> well, i think from a users point of view having to specify the backend upfront seems a bit odd

[16:00] <pedronis> with the other method you can do

[16:00] <pedronis> t.source_llvm() t.compile()

[16:00] <pedronis> or

[16:00] <pedronis> t.source_llvm() t.compile_llvm()

[16:01] <pedronis> but t.source() alone would be forbidden

[16:01] <pedronis> also

[16:01] <xorAxAx> yeah, and disappointing them afterwards, when they want to write code that closer interfaces the translator, will not be very bad

[16:01] <braintone> cfbolz - r20576 - add warning that some of the getting-started examples might not work on the trunk.

[16:01] <pedronis> t.source_llvm(); t.compile_c()

[16:03] <mwh> would it help if the t's __repr__ or something listed its state somehow

[16:03] xlthlx (n=Miranda@bsd.pme.nthu.edu.tw) joined #pypy.

[16:03] <pedronis> well the wrapper can do that

[16:03] <mwh> sure

[16:04] <mwh> at this point i'm only thinking about interactive use

[16:04] <mwh> what other cases are you thinking about now?

[16:04] <pedronis> no, the wrapper would be only for interactive use

[16:04] <pedronis> of I don't what is change driver too much

[16:04] <pedronis> now

[16:04] <mwh> ok

[16:05] <pedronis> what I don't want

[16:06] <mwh> right

[16:06] <pedronis> if we don't want to specify annotation types too early too, we need to be lazy with driver setup

[16:08] <pedronis> it's all doable we just need to be careful

[16:08] _hannes (i=ore@i577B5011.versanet.de) joined #pypy.

[16:11] <pedronis> mwh: I think we should write examples of how the interface should work

[16:12] <mwh> yes, makes sense

[16:12] <mwh> where?

[16:12] <mwh> in the screen?

[16:13] <pedronis> possibly

[16:14] <cfbolz> which screen? armin on snake?

[16:14] <mwh> yes

[16:14] <mwh> window 0

[16:14] <mwh> this screen seems to be being used for all sorts of things today :)

[16:14] <cfbolz> ok

[16:14] <mwh> presumably some name is pre-defined

[16:18] <mwh> is backendopt backend dependent?

[16:18] <mwh> which sounds like a silly question...

[16:18] <cfbolz> can be, yes

[16:18] <pedronis> sadly so for obscure reasons

[16:19] <pedronis> but in general yes

[16:19] <pedronis> right now the reasons are just obscure

[16:19] <cfbolz> one example is remove_same_as

[16:19] <cfbolz> which exists for very obscure reasons indeed :-)

[16:20] <mwh> hmm?

[16:20] <pedronis> basically the idea is that you can pass options as late as possible

[16:20] <pedronis> but also very soon

[16:21] <pedronis> but there are checks that you don't try to do incosinstet things

[16:21] <pedronis> of course it is very DWIMish

[16:21] <pedronis> which maybe is bad in itself

[16:24] <pedronis> comments?

[16:24] <mwh> shades of distutils' options handling...

[16:25] <cfbolz> pedronis: looks good to me

[16:25] <mwh> can you call t.rtype(argtypes=[int]) if you haven't called annotate?

[16:25] <mwh> i.e. do options pass through?

[16:25] <pedronis> that's the idea, yes

[16:25] <mwh> ok

[16:25] <pedronis> basically largely DWIMish but also consistent in that

[16:26] <pedronis> we need to push a bit

[16:26] <pedronis> because the driver

[16:26] <cfbolz> which is kind of nice for a purely cmdline interface

[16:26] <pedronis> would prefer to get options upfornt

[16:26] <pedronis> also you select the backend invoking one of the [_<backend>] methods

[16:27] <pedronis> your selection should be consistent

[16:27] <pedronis> if you call one of them without [_<backend>]

[16:27] <pedronis> but you didn't select one so far

[16:27] <pedronis> you get an error

[16:27] <braintone> sanxiyn - r20577 - Insert some blank lines

[16:27] <mwh> makes sense

[16:28] <pedronis> well, now is just a matter of implementig this

[16:29] <mwh> guess so :)

[16:29] <mwh> in bin/translator.py ?

[16:29] <mwh> or would that be too hard to test?

[16:29] <mwh> speaking of which, is the driver tested?

[16:29] <pedronis> not really

[16:30] <pedronis> the SimpleTaskEngine has tests

[16:30] <pedronis> the driver itself not

[16:30] <pedronis> mostly because I did not get to them

[16:30] <pedronis> that refactoring already took more time than I liked

[16:31] <pedronis> (I mean sanitizing the old translate_pypy)

[16:31] <mwh> ok

[16:31] <pedronis> but we can write tests for this

[16:32] <pedronis> we probably need to change the driver __init__ a bit

[16:32] <mwh> could even write doctests...

[16:32] <pedronis> because now without a backend it crashes

[16:32] <pedronis> py.test and doctests

[16:32] <pedronis> don't interoperate right now

[16:33] <cfbolz> another longstanding todo

[16:33] <cfbolz> :-(

[16:33] <mwh> yeah, i kinda knew that

[16:33] <mwh> well, it's setup() that needs to change isn't it?

[16:34] <pedronis> no it's init

[16:34] <pedronis> __init__

[16:34] <pedronis> no backend set

[16:34] <pedronis> it chrashes

[16:34] <pedronis> setup is fine

[16:34] <pedronis> just needs to be called lazily

[16:34] <mwh> oh, ok

[16:35] <pedronis> well, we need to write a Translation class somewhere

[16:36] <mwh> translator/interactive?

[16:36] <pedronis> ok

[16:36] <mwh> brb

[16:37] <pedronis> driver then should move one level up too

[16:37] <mwh> yes

[16:37] <mwh> it doesn't /really/ belong in goal imho

[16:38] <pedronis> it was there because its only client until now was there

[16:48] <braintone> sanxiyn - r20578 - Rename str/conv to repr_arg, repr_var, repr_const, repr_unknown

[16:50] <cfbolz> looks like seo is beefing up gencl

[16:51] <mwh> ok back

[16:52] <mwh> i guess an open question is how clever/declarative we want to be

[16:56] adim (n=adim@logilab.net2.nerim.net) left #pypy.

[16:58] <pedronis> well, the messy part is checking option consistency

[16:59] <pedronis> especially if we want to raise an error if someone set an option too late

[17:00] <braintone> sanxiyn - r20579 - Remove some obsolete codes

[17:03] <mwh> well, i guess we just put up with the messiness for now

[17:16] <pedronis> ??? why is identation not working?

[17:16] <arre> pedronis: About tomorrow and me helping you and Armin get to Bea's place.

[17:16] <pedronis> Bea gave me the info

[17:16] <pedronis> is on Eklandagatan

[17:17] <cfbolz> Eklandagatan 5, right?

[17:17] <arre> Right!

[17:17] <pedronis> yes

[17:17] <cfbolz> I am coming as well, although probably rather late

[17:17] <pedronis> I think we should be able to get there

[17:17] <braintone> sanxiyn - r20580 - traverse -> iterblocks

[17:17] <pedronis> is up from Körsvägan

[17:17] <arre> It's a short walk from Korsvagen.

[17:18] <cfbolz> korsvagan?

[17:18] <arre> I'll see you there then.

[17:18] <pedronis> yes

[17:18] <cfbolz> yes

[17:18] <arre> It's the closest tramstop.

[17:19] <cfbolz> ah, ok (bea actually wrote me that too)

[17:29] <pedronis> mwh: does it make sense, or it is saner to not allow to specify options after they have been used

[17:29] <cfbolz> you mean not allowing gc="ref" after having done so already?

[17:30] <pedronis> no I mean saying gc='ref' after something that has "consumed" the option

[17:30] <pedronis> for example saying .compile with argtypes

[17:30] <pedronis> after you have already done annotate

[17:30] <braintone> sanxiyn - r20581 - Remove starred import

[17:31] <cfbolz> pedronis: yes, I think it makes sense to raise there to not produce wrong expectations

[17:31] <pedronis> the question is if to rasise even the value is the same

[17:31] <pedronis> even if

[17:31] <cfbolz> ah, right

[17:32] <mwh> hmm

[17:32] <mwh> don't know

[17:32] <cfbolz> so if someone says t.annotate([int]) and then t.compile([int])?

[17:32] <mwh> yeah

[17:32] <pedronis> well yes what to do with that compile?

[17:33] <mwh> i think it makes slightly more sense to complain

[17:33] <cfbolz> I think raising makes some sense

[17:33] <cfbolz> :-)

[17:33] <mwh> but it's kind of a 55-45 vote in my head

[17:33] <cfbolz> same here. who would be so stupid to do

[17:33] <cfbolz> something like that anyway

[17:34] Action: arre nods

[17:34] <pedronis> well, the fact that implementig this for the other options will be fun

[17:34] <pedronis> like gc

[17:34] <pedronis> but anyway being sane is messy anway

[17:34] <pedronis> anyway

[17:34] <arre> I'm not too keen on punishing someone for being consistent.

[17:35] <pedronis> because the other model is you can change your mind until the option is consumed

[17:35] <pedronis> so you could do

[17:36] <pedronis> Translation(entry_point, gc='ref') .compile(gc='boehm')

[17:36] <cfbolz> hum. I think this _really_ should raise an error

[17:37] <pedronis> well, you punish changing your mind after the fact

[17:37] <pedronis> until compile gc is not relevant

[17:37] <pedronis> until source to be precise

[17:37] <pedronis> that compile implies

[17:38] <pedronis> of course you could have both models with a set_options with different semantics that the arg passed to the methods

[17:45] <pedronis> following?

[17:45] <cfbolz> hum

[17:45] <cfbolz> yes

[17:45] <pedronis> now is matter to set frozen_options and write the various methods

[17:46] <cfbolz> yes, I see

[17:47] <cfbolz> huh? shouldn't annotate have more options than self? or did I misunderstand something?

[17:48] <pedronis> yes, sorry

[17:48] <cfbolz> yep

[17:52] <pedronis> well, this the kind of code for the methods I think

[17:52] <pedronis> can be generated

[17:52] <cfbolz> yes

[17:52] <pedronis> we need ensure backend

[17:53] <pedronis> and the table of what options the steps "consume"

[17:53] <cfbolz> yes. does driver.source_c() return the source?

[17:54] <pedronis> it always produce a file

[17:54] <cfbolz> ah, so we need to fish for the source a bit more

[17:54] <cfbolz> to return something

[17:54] <pedronis> I know that the old translator

[17:54] <pedronis> could return the source

[17:54] <pedronis> as a string

[17:54] <pedronis> but I don't know how much I care

[17:55] <cfbolz> me neither, the source is not really that readable

[17:55] <pedronis> I think we should write some tests

[17:55] <mwh> the only vaguely readable source is when you don't annotate, isn't it?

[17:55] <cfbolz> for people knowing the CPython API, yes

[17:56] <pedronis> here you cannot skip annotating

[17:56] <pedronis> with the driver you can

[17:56] <pedronis> but we would need an API

[17:56] <mwh> as opposed to post-annotation which just isn't readable for anyone?

[17:56] <mwh> yeah, it's not that big a use case, imho

[17:57] <cfbolz> mwh: yes :-)

[17:57] <pedronis> well, this is mostly a stop-gap solution anyway

[17:57] <pedronis> until someone wants to do something even better

[17:58] <pedronis> but we can add some returns in the driver

[17:58] <pedronis> like for annotate

[17:59] <pedronis> anyway this right now will explode

[17:59] <pedronis> because driver needs some tweaking

[18:01] <pedronis> ok, does the test makes sense?

[18:02] <cfbolz> it does to me, yes

[18:02] <pedronis> as expected

[18:06] <pedronis> umph

[18:16] arigo (n=arigo@c-178b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.

[18:17] <braintone> jacob - r20582 - Added some logistics info.

[18:21] <pedronis> good

[18:25] <mwh> :)

[18:26] <pedronis> now indeed: good

[18:31] <pedronis> mwh, cfbolz: someone else want to type/drive a bit

[18:31] <cfbolz> not me. I am in quite bad shape today :-(

[18:32] <mwh> i don't know how much longer i'll be around for

[18:32] <mwh> i don't feel like i've been very productive today :(

[18:32] <mwh> oh well, i'll probably get some work done over the weekend

[18:32] <pedronis> ok

[18:33] <pedronis> mwh: I can check it in as it is

[18:33] <mwh> yes, i think that's a good idea

[18:33] <mwh> you and armin are busy tomorrow?

[18:33] <pedronis> anyway I need to work fixing pdbplus before the sprint

[18:33] <arigo> btw

[18:33] <mwh> and carl is travelling?

[18:33] <arigo> this is not needed

[18:34] <arigo> but the viewer expects an 'entrypoint' attribute, not 'entry_point' :-)

[18:34] <pedronis> on what does it expect it?

[18:34] <arigo> ah, er, the TranslationContext I expect

[18:35] <cfbolz> mwh: yes, I am traveling tomorrow

[18:35] <pedronis> well, do we want to attach the entrypoint on the context

[18:35] <pedronis> it's a bit of bad practice example

[18:35] <pedronis> but indeed here we need to hack somewhere

[18:35] <pedronis> to get t.view()

[18:35] <pedronis> work before

[18:35] <pedronis> annotation

[18:36] <arigo> ok

[18:36] <arigo> I can remove the references to entrypoint from graphpage.py

[18:36] <pedronis> think so

[18:36] <arigo> I think it'll use the first graph for purposes like "what's the starting point when displaying more than 'huge' graphs"

[18:37] <pedronis> anyway it matches the old expectation that we the entrypoint is flow spaced eagerly

[18:37] <pedronis> if you have something stupid in it

[18:37] <pedronis> you crash early

[18:37] <pedronis> makes sense for small example (one function)

[18:37] <arigo> ok

[18:48] <pedronis> mwh, cfbolz: about to checkin

[18:49] <braintone> arigo - r20583 - (mwh, cfbolz, pedronis, arigo) * start of a simpler Translator substitute based on goal/driver * skecthy description of the interface in doc/discussion/cmd-prompt-translation.txt * some tweaks to dri

[18:56] <braintone> arigo - r20584 - (pedronis, arigo)

[18:56] arre (i=edd9b1c1@1-1-5-33a.gfa.gbg.bostream.se) left #pypy.

----- silence for 1 hr and 14 minutes -----

[20:10] <cfbolz> I am packing my stuff now, see you during the sprint!

[20:11] <pedronis> see you

[20:14] paniq (n=paniq@port-212-202-49-117.dynamic.qsc.de) joined #pypy.

[20:17] cfbolz (n=cfbolz@p54AB97F5.dip0.t-ipconnect.de) left irc: "Leaving"

[20:19] ericvrp_ (n=eric@ericvrp.demon.nl) joined #pypy.

[20:28] <vruz> pedronis: what became of the 'dynamic languages summit' you attended about a year ago ? got any serious news from Sun ?

[20:29] Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy.

[20:29] <vruz> 7

[20:31] ericvrp (n=eric@ericvrp.demon.nl) left irc: Read error: 113 (No route to host)

[20:39] ericvrp_ (n=eric@ericvrp.demon.nl) left irc:

----- silence for 1 hr and 8 minutes -----

[21:47] xyz359 (n=xyz359@pool-68-238-168-248.tampfl.fios.verizon.net) joined #pypy.

----- silence for 33 minutes -----

[22:20] Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) left irc: Client Quit

[22:28] <xorAxAx> hmm, somehow brainfuck and pypy people are very similar: they invest rather more time into the toolchain than into the program itself :)

[22:33] <vruz> in that regard, brainfuck is very similar to my ex-girlfriend

[22:34] <xorAxAx> why is that?

[22:35] <tic> argh, how disturbing. mod_bf

[22:37] <xorAxAx> i just found a brainfuck compiler

[22:37] <xorAxAx> written in brainfuck, optimising

[22:45] <vruz> xorAxAx: she was insane, gone for good

[22:46] <xorAxAx> in this context, here is an OS concept rather pragmatic compared to tunes: http://www.dangermouse.net/esoteric/petrovich.html :-)

[22:46] <xorAxAx> vruz: ah, but she was already insane before she was your /ex/-girlfriend, right?

[22:47] <vruz> yeah, but it took a while to learn that

[22:47] <vruz> they don't come with docs, you know

[22:47] <vruz> :-)

[22:48] <xorAxAx> damn, yeah.

[22:48] <xorAxAx> though there is a wide range of insanities

[22:49] <vruz> this one was insane insane

[22:49] <vruz> as in the real insane

[22:49] <vruz> anyway, the operating system sounds interesting :-)

[22:49] <xorAxAx> yip :)

[22:49] <xorAxAx> its one of the first user-interaction adaptive systems

[22:50] Action: vruz thinks how a gui environment could check for the user's impatience and learn to do certain things faster

[22:50] <sabi> hah

[22:50] <sabi> automatically order new computer when impatience > ... :)

[22:50] <vruz> photoshop already has something like that

[22:51] <vruz> when you move an image too fast, you can make it lower the render quality of moving images

[22:51] <xorAxAx> it could measure the mouse movements, calculate the impatientness and drop dialogs that ask for confirmation

[22:51] <vruz> the problem is we don't want punishable things to happen

[22:51] <vruz> (like deleting HalleBerry.jpg)

[22:51] <xorAxAx> at least in the last case, you get a new haleberry

[22:51] <xorAxAx> thats the nice thing, its self-compensating

[22:52] <xorAxAx> assuming that the storage of the underlying AI is big enough, at some time, it should not have to be punished anymore

[22:53] <vruz> well, think of my yearly expenses spreadsheet, to compensate me for the deletion, it gives me my mom's garden club purchasing list spreadsheet

[22:53] <vruz> totally brainfuck

[22:54] <xorAxAx> yeah, that can be improved

[22:56] <vruz> perhaps we keep old data because of the same reason why we keep an old motorbike that doesn't work anymore, perhaps we can never anticipate when we're gonna need it, perhaps we keep it for other entirely different reasons like emotional attachment

[22:56] <vruz> can that be computed ?

[22:56] <vruz> do we want to compute that ?

[23:00] <vruz> okay, gotta leave

[23:00] <xorAxAx> cu vruz

[23:00] <vruz> in case you get Halle Berry's call tell her I lost her file and please call me again :-)

[23:00] <vruz> laters

[23:00] <xorAxAx> :-)

----- silence for 33 minutes -----

[23:33] Action: arigo and Samuele discussing the difficulties of writing a JIT for the Ook language

[23:37] <sabi> Hah.

[23:40] <xorAxAx> arigo: have you seen the petrovich OS? :-)

[23:40] <arigo> yes

[23:47] <xorAxAx> there are interesting JIT stats on http://bluesorcerer.net/esoteric/bf.html

[23:48] <xorAxAx> ms JIT is faster than the naivly c-compiled binary

[00:00] --- Sat Dec 3 2005