==== Channel ##pypy: 04/24/05 ====

[00:59] pedronis (~Samuele_P@c-2b8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.68a [Firefox 1.0.2/20050317]"

----- silence for 1 hr and 3 minutes -----

[02:02] _hannes (ryqmgrw@i528C11F6.versanet.de) joined #pypy.

----- silence for 1 hr and 39 minutes -----

[03:41] _hannes (ryqmgrw@i528C11F6.versanet.de) left irc: Read error: 113 (No route to host)

[03:44] _hannes (clkrqdcn@i528C11F6.versanet.de) joined #pypy.

[03:54] Me2 (~Me@cm218-253-45-243.hkcable.com.hk) left irc: "Leaving, like I have to tell you!"

----- silence for 1 hr and 33 minutes -----

[05:27] _hannes (clkrqdcn@i528C11F6.versanet.de) left irc: "utz utz utz"

----- silence for 5 hr and 24 minutes -----

[10:51] hpk (~hpk@merlinux.de) left irc: Remote closed the connection

[10:59] arigo (~arigo@vicky.ecs.soton.ac.uk) joined #pypy.

[11:08] hpk (~hpk@merlinux.de) joined #pypy.

[11:08] <arigo> hi !

[11:08] <hpk> arigo: hi armin

[11:08] <hpk> (!)

[11:08] <hpk> how was the conf?

[11:08] <arigo> great!

[11:09] <hpk> hey, that sounds good

[11:09] <hpk> are you in the mood to tell a bit?

[11:10] <arigo> as in other years, Python programmers were not as numerous as C++ guys

[11:10] <arigo> Java seems to get less interest, though.

[11:10] <arigo> Python had a whole track (out of 5 in parallel)

[11:11] <arigo> it was interesting to observe some category of C++ people

[11:11] <arigo> for example, when they are talking about the web site of the ACCU

[11:11] <arigo> which is -- of course -- scripted in custom C++ code :-)

[11:12] <arigo> basically, they agree that C++ is a bit tedious but so much safer than all these scripting languages

[11:12] <arigo> some people's point of view is that you get to try scripting languages for a while and they are ok, but at some point when you're a real programmer you'll return to C++

[11:13] <hpk> oh

[11:13] <arigo> but anyway, there was no "open" confrontation, it was all very friendly

[11:13] <hpk> hehe, i thought one would return to assembler if being a real man

[11:14] <arigo> well it's not (type)safe, is it? :-)

[11:14] <hpk> how was pypy perceived?

[11:14] <arigo> perceived by a small audiance :-)

[11:14] <arigo> the last day (Saturday) people drift off

[11:14] <hpk> i imagine

[11:15] <arigo> but the thin audiance received it well, and there was a couple of important reactions

[11:15] <arigo> e.,g. there was the Python guy of Nokia

[11:15] <hpk> nice

[11:15] <arigo> (he had a nice talk with a really good slice, an arguments-and-counter-arguments of strong typists vs scripting guys)

[11:16] <hpk> oh

[11:16] <hpk> any particular reaction to pypy from him?

[11:16] <arigo> well he's interested but basically CPython works fine on Nokia's phones

[11:16] <arigo> he'll follow PyPy, though

[11:17] <arigo> I gave him the pygame presentation files, and he said he had pygame installed already -- because he looked at the psyco presentation at some point ;-)

[11:18] <hpk> :^)

[11:18] <arigo> there is also a BBC guy, Michael Sparks, which is quite interested

[11:18] <arigo> s/which/who

[11:18] <hpk> i talked to him at EuroFoo at some length about PyPy :-)

[11:18] <arigo> :-)

[11:19] <arigo> Laura wanted to drag him to a sprint, but instead he said it would be very easy to host a sprint at the BBC :-)

[11:19] <hpk> sounds good, like in may? :-)

[11:19] <arigo> hum, no

[11:19] <arigo> at least we didn't talk specific dates,

[11:20] <hpk> i didn'T expect so

[11:20] <hpk> i guess apart from may we have plans for all of the year already

[11:20] <arigo> rough plans

[11:20] <hpk> sure, nothing definite yet (except from G-borg)

[11:20] <arigo> yes

[11:22] <arigo> finally, there was a Roma guy, a physicist that knows Alex Martelli...

[11:22] <arigo> Michele Simionato

[11:22] <hpk> i have heard his name a couple of times already

[11:24] <arigo> he's interested in PyPy mostly from the theoretical point of view

[11:24] <arigo> -- it's true that we are the only such theoretical project to be a bit known in Python, apart from specialized domains like SciPy

[11:32] <arigo> unrelated: do you have a minute some time to help me moving Psyco to codespeak? I'd like to rename a directory in the CVS tree :-)

[11:33] <hpk> :-)

[11:33] <hpk> sure

[11:33] <hpk> do you want to do the cvs2svn conversion yourself?

[11:34] <arigo> I guess so

[11:35] <arigo> I tried it some time ago, but I think there are some options we can choose

[11:36] Action: hpk looks up the latest cvs2svn version ...

[11:38] <hpk> svn co http://svn.collab.net/repos/cvs2svn/trunk/ cvs2svn-trunk

[11:39] <hpk> do you have the psyco cvs somewhere on codesepak?

[11:39] <arigo> I can put it there

[11:39] <arigo> ~arigo/psyco-cvsroot.tar.bz2

[11:41] <hpk> i am in -x hpk/hpk and play a bit

[11:47] <hpk> arigo: i wonder if the cvs-committers will be retained in svn blame

[12:02] <hpk> arigo: can you 'svn mkdir http://codespeak.net/svn/psyco' ?

[12:03] <arigo> done

----- silence for 22 minutes -----

[12:25] <hpk> arigo: may i ask something regarding greenlets in the screen session?

[12:25] <arigo> sure

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

[12:44] <hpk> arigo: i wrote a note on screen

[12:45] <arigo> oups?

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

[13:15] cfbolz (~cfbolz@drms-d9b946b5.pool.mediaWays.net) joined #pypy.

[13:15] <cfbolz> hi all!

[13:15] <arigo> hi!

[13:16] <cfbolz> I'm nearly done with PBC support.

[13:16] <arigo> nice

[13:16] <cfbolz> I'm a bit confused though

[13:17] <cfbolz> I'm still not quite sure which instances becom PBCs

[13:17] <cfbolz> and not SomeInstances

[13:17] <arigo> I'm confused too, it changed too often

[13:18] <arigo> I believe that user-defined instances need to have a _freeze_() method to become PBCs

[13:19] <arigo> the exact logic is a bit obscure, but can be found in bookkeeper.immutablevalue()

[13:19] <cfbolz> I thought so, too.

[13:19] <cfbolz> what about the following in snippet:

[13:19] <cfbolz> class CallablePrebuiltConstant(object):

[13:19] <cfbolz> def __call__(self):

[13:19] <cfbolz> return 42

[13:19] <arigo> um.

[13:19] <cfbolz> :-)

[13:19] <arigo> I believe that we no longer need to support __call__()

[13:19] <cfbolz> Good.

[13:20] <cfbolz> I don't support it yet.

[13:20] <cfbolz> Something completely different: When exactly will the sprint in Goetheborg be?

[13:21] <cfbolz> I need to plan a bit in advance

[13:21] <arigo> after the conference

[13:21] <arigo> starts right after the conference and up to the 7th if I remember correctly.

[13:21] <cfbolz> ok. Then my lastest information is correct. Good.

[13:22] <cfbolz> I'm coming.

[13:22] <arigo> Great!

[13:23] <arigo> Looking forward to see you.

[13:23] <cfbolz> I'm pretty excited myself :-)

[13:24] <arigo> :-)

[13:24] <cfbolz> Where are you all staying?

[13:24] <arigo> I will live there myself

[13:24] <arigo> I'm flying to Goteborg next friday and staying there.

[13:25] <cfbolz> ah. Cool.

[13:25] <arigo> last year there were good arrangements

[13:25] <arigo> I think that more information about it will show up when the conference comes a bit closer,

[13:25] <arigo> but basically you can have a room to share with other sprinters

[13:26] <cfbolz> Well, you can allready order a room when registering.

[13:26] <arigo> ah, ok

[13:27] <arigo> I expect most of the sprinters (and lots of conference attendees too) will be there. It's a very nice place.

[13:27] <cfbolz> Good. Then I'll just order a room when I register for the conference.

[13:28] <arigo> that's what I'd definitely recommend.

----- silence for 25 minutes -----

[13:53] <cfbolz> ouch. targetpypy1 fails because of recursive dependencies between the representations.

[13:53] <cfbolz> I mean targetpypy1 with llvm.

[13:53] <arigo> ah, yes, I see

[13:54] <cfbolz> W_Object needs StdObjSpace needs W_TypeObject needs W_Object

[13:54] <cfbolz> I guess I need to be lazier

[13:54] <arigo> yes, we had similar problems with genc and geninterp

[13:54] <cfbolz> What did you do?

[13:54] <arigo> it's not used yet, but for the upcoming parser module we will probably even need worse:

[13:55] <arigo> lists whose items are 3-tuples

[13:55] <arigo> the last item in the 3-tuple is itself a list of the same kind

[13:55] <cfbolz> does the annotator cope with that?

[13:55] <arigo> now, yes

[13:56] <arigo> (it's a recent slightly different fix that allows it to handle that too)

[13:56] <arigo> in genc we solved the dependency problem by being more lazy

[13:57] <cfbolz> Ok. Then I'll have to do something similar.

[13:57] <arigo> e.g. for a class we generate an empty (CPython) class object and populate it later

[13:57] <arigo> geninterp had various troubles, though

[13:57] <arigo> e.g. you need a fully initialized class object before you can instantiate it (for pbcs)

[13:57] <arigo> but the issues are probably slightly different in genllvm.

[13:58] <cfbolz> Yes. But I guess the solution is similar.

[13:59] <arigo> yes

[13:59] <cfbolz> Is there some code I could steal from genc?

[14:00] <cfbolz> For laziness, I mean

[14:01] <arigo> maybe not, but you can use the basic idea:

[14:01] <arigo> the classobj representation, as found in pyobjtype.nameof_classobj()

[14:02] <arigo> it defines an empty classobj (in real C that would be defining the type pointer-to-structure-T without defining the structure T itself)

[14:02] <arigo> and it registers a generator that will be enumerated later, that really defines the structure with its fields

[14:03] <cfbolz> when dies the enumeration happen?

[14:05] <arigo> I guess we'll need to change it, but now it's done once before each function body

[14:05] <arigo> it wouldn't work too well for prebuilt constants, though

[14:06] <cfbolz> Yes. I guess I have to find out what exactly the problem is in my case.

[14:07] <arigo> yes, I fear we might need at some point two methods, like "now I want the type ptr-to-T to be defined" and "now I need T itself to be defined"

[14:08] <cfbolz> That's exactly the problem the example above.

[14:08] <cfbolz> with

[14:09] <arigo> maybe you can simply force the lazy parts to be fully computed before generating a pbc.

[14:10] <cfbolz> hmm.

[14:10] <cfbolz> Yes, I guess I could do that.

[14:11] <cfbolz> Ok. Thanks for your help. I'm going offline again.

[14:11] <cfbolz> See you.

[14:12] <arigo> see you!

[14:12] cfbolz (~cfbolz@drms-d9b946b5.pool.mediaWays.net) left irc: "Verlassend"

----- silence for 35 minutes -----

[14:47] <hpk> arigo: i think we may want to focus a PyPy EU talk on backends

[14:48] <arigo> at EuroPython?

[14:48] <hpk> and we could ask Carl to talk a bit about the llvm one

[14:48] <hpk> yes

[14:48] <arigo> makes sense

[14:48] <hpk> like "we'll show which kinds of programs can be translated by PyPy/genc, PyPy/llvm etc.pp."

[14:50] <hpk> "and how you can use PyPy to generate a C-extension from pure python" :-)

[14:50] <arigo> yes

[14:51] cfbolz (~cfbolz@drms-d9b946b7.pool.mediaWays.net) joined #pypy.

[14:51] <hpk> btw, i recently rewrote the first parts of the coding-style.txt/RPython chapters

[14:51] <arigo> ok

[14:51] <hpk> it would be good to have a look at the exact restriction and which of them are true

[14:51] <hpk> especially some information regarding the new 'ovfchecked' is needed

[14:51] <arigo> yes, I guess so

[14:51] <arigo> right

[14:52] <hpk> i think the current stuff on integers is just wrong

[14:52] <hpk> (or old rather)

[14:52] <hpk> this chapter will be of primary interest to people wanting to write RPython code

[14:52] <arigo> makes sense (sorry, I'm running out of ways to agree :-)

[14:53] <hpk> :^)

[14:54] <cfbolz> I just read the logs. I think holgers idea about the Europython talk is good.

[14:55] <hpk> cfbolz: it's also good because then the rest of us will better understand what you are doing :-)

[14:56] <cfbolz> :-)

[14:56] <hpk> before the sprint, which makes double sense

[14:56] <cfbolz> right. It's not that sophisticated. Maybe I should write a bit of documentation after all.

[14:58] <hpk> arigo: actually i would suggest that you or pedronis write about integers in coding-style.txt

[14:58] <hpk> now you have the opportunity to disagree :-)

[14:59] <arigo> I wouldn't dare do that without Samuele, as we discussed so many suggestions

[14:59] <arigo> but ok

[15:00] <hpk> and maybe i should whip up a nice source-viewer today

[15:00] <hpk> i really would like references to classes and methods via anchors or whatever

[15:00] <cfbolz> btw: would it be possible (or rather: would it be reasonably easy) to write a transformation that transforms a ovfchecked op into ovf_op and removes some of the exception handling?

[15:00] <arigo> (I'm also working on the genc doc, but it isn't advancing much because I still don't know what memory model would be best)

[15:01] <arigo> cfbolz: yes, that's the idea, apart from removing the exception handling

[15:01] <arigo> how would ovf_op signal an overflow?

[15:02] <cfbolz> via an exception of course. but at the moment there is the full-fledged handling of exceptions:

[15:03] <arigo> oh, I see, sorry

[15:03] <cfbolz> We know that only a OverflowError is raised, so we can remove at least one block.

[15:04] <arigo> I think the annotator should know that; then the exception-handling would be automatically reduced

[15:05] <cfbolz> right

[15:06] <cfbolz> but then the transformation would probably be superfluous, since you can recognize that the op is overflowched by the following exception

[15:10] <arigo> actually I can't remember the details of ovfchecked()

[15:10] <arigo> I should look it up but right now I'm more thinking about lunch :-)

[15:10] <cfbolz> :-)

[15:11] <cfbolz> It's not that important.

[15:11] <cfbolz> bye

[15:11] cfbolz (~cfbolz@drms-d9b946b7.pool.mediaWays.net) left irc: "Verlassend"

[15:21] arigo (~arigo@vicky.ecs.soton.ac.uk) left irc: Remote closed the connection

----- silence for 1 hr and 40 minutes -----

[17:01] _hannes (jycxuwt@i528C11F6.versanet.de) joined #pypy.

----- silence for 32 minutes -----

[17:33] dialtone (~dialtone@host111-56.pool80117.interbusiness.it) left irc: "This computer has gone to sleep"

----- silence for 1 hr and 43 minutes -----

[19:16] pedronis (pedronis@ratthing-b246.strakt.com) joined #pypy.

[19:21] pedronis (pedronis@ratthing-b246.strakt.com) left irc: "Chatzilla 0.9.67 [Firefox 1.0.2/20050325]"

----- silence for 43 minutes -----

[20:04] pedronis (~Samuele_P@c-108b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.

----- silence for 1 hr and 1 minute -----

[21:05] idnar (mithrandi@idnar.user) left irc: Nick collision from services.

[21:05] idnar_ (mithrandi@idnar.user) joined #pypy.

----- silence for 2 hr and 22 minutes -----

[23:27] Nick change: idnar_ -> idnar

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

[23:53] martine (~somebody@62.175.108.13) joined #pypy.

[23:54] martine (somebody@62.175.108.13) left #pypy.

[00:00] --- Mon Apr 25 2005