| Smirnov (n=igor@isr6956.urh.uiuc.edu) joined #pypy. | 00:51 | |
| jiwon_ (n=jiwon@rescomp-05-80325.Stanford.EDU) joined #pypy. | 01:29 | |
| mickg10 (n=mickg10@ool-44c32d6c.dyn.optonline.net) joined #pypy. | 04:11 | |
| mickg10 (n=mickg10@ool-44c32d6c.dyn.optonline.net) left #pypy. | 04:12 | |
| jiwon_ (n=jiwon@rescomp-05-80325.Stanford.EDU) left irc: Read error: 110 (Connection timed out) | 04:27 | |
| nelix | i found a javascript interpreter writen in javascript | 04:40 |
|---|---|---|
| nelix | what i need is one in python so i can run javascript in javascript in python in python | 04:40 |
| Smirnov | isnt running javascript in python good enough? | 04:45 |
| nelix | sure, comment was kinda ingest, but i still think it is pretty interesting | 04:45 |
| Smirnov | I've seen python in javascript, hmm | 04:46 |
| Smirnov | ah, yes, python-spidermonkey on wwwsearch.sf.net/python-spidermonkey/ | 04:46 |
| Smirnov | I'm guessing you won't run that in python in python though since spidermonkey is in C | 04:47 |
| nelix | indeed, it was more for "omg so many layers" value than anything usefull | 04:51 |
| Smirnov | just go ahead and write some ctypes spidermonkey hooks then :D | 04:56 |
| nelix | more interesting to think about than to actualy do | 05:01 |
| braintone | sanxiyn - r26746 - Fix test | 05:36 |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: "Valid HTML! http://validator.w3.org/ | Support ISO 8601! http://www.cl.cam.ac.uk/~mgk25/iso-time.html" | 05:42 | |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy. | 05:53 | |
| braintone | sanxiyn - r26747 - Pass dict_iter test, in a wrong way | 06:17 |
| sanxiyn (n=tinuviel@211.104.100.240) joined #pypy. | 06:27 | |
| xorAxAx | sanxiyn: why do the semicolons make JS difficult to parse? (This message has been postponed.) | 06:27 |
| sanxiyn | ?! | 06:27 |
| sanxiyn | Ah, must be bot speaking. | 06:28 |
| sanxiyn | { 1 2 } 3 is invalid JS. | 06:29 |
| sanxiyn | { 1 | 06:29 |
| sanxiyn | 2 } 3 | 06:29 |
| sanxiyn | *is* valid. | 06:29 |
| sanxiyn | (If you know why, then you don't need any additional explanation, I believe.) | 06:30 |
| sanxiyn | (The idea is, semicolon can be omitted when line is changed or there is brace but only once each. Read ECMA 262 section 7.9 for gory details.) | 06:31 |
| Shoragan (n=shoragan@d072.apm.etc.tu-bs.de) joined #pypy. | 06:31 | |
| sanxiyn | The behaviour is elegantly(?) specified but I have absolutely no idea even after re-reading the spec how to get it right. | 06:32 |
| sanxiyn | Formally, | 06:33 |
| sanxiyn | When, as the program is parsed from left to right, a token, called the offending token, is encountered that is not allowed by any production of the grammar, then a semicolon is automatically inserted before the offending token if one or more of the following conditions are true: 1) The offending token is separated from the previous token by at least one line terminator 2) The offending token is }. | 06:35 |
| sanxiyn | I call it a brain damage. | 06:36 |
| Smirnov (n=igor@isr6956.urh.uiuc.edu) left irc: Read error: 110 (Connection timed out) | 06:36 | |
| sanxiyn | xorAxAx: So that's my answer (to trigger the highlight) | 06:40 |
| dialtone | hi sanxiyn | 06:54 |
| sanxiyn | dialtone: hi | 06:55 |
| sanxiyn | dialtone: Seen my "wrong" impl of dict iteration? :( | 06:55 |
| dialtone | let me see how you worked on dict_iter :) | 06:55 |
| dialtone | yesterday Iost my mind to that | 06:55 |
| sanxiyn | dialtone: It's 20 lines in all... | 06:56 |
| sanxiyn | dialtone: I heard that you're thinking about PyPy/CL SoC? That'd be cool. | 06:57 |
| dialtone | yes, I'll think more about it today but I think I decided | 06:57 |
| dialtone | anyway it seems you've done it well | 06:57 |
| sanxiyn | dialtone: Well, the test passes for me with CLisp. | 06:57 |
| dialtone | uhmmm | 06:58 |
| sanxiyn | But it's wrong, as clhs says, | 06:58 |
| sanxiyn | "It is unspecified what happens if any of the implicit interior state of an iteration is returned outside the dynamic extent of the with-hash-table-iterator form such as by returning some closure over the invocation form." | 06:58 |
| dialtone | indeed, I tried it first but it fails here | 06:59 |
| sanxiyn | Argh. | 07:01 |
| dialtone | we really need to open the namespace and then close it at exception handlling | 07:01 |
| sanxiyn | If one can assume iterators aren't passed across function boundary, we can put with-* form at the beginning of function body. | 07:02 |
| dialtone | there's no other portable way (except if we deal with the low-level implementation dependendant way of creating with-hash-table-iterator | 07:02 |
| sanxiyn | dialtone: I am thinking about splitting clrepr to clrepr + clsym. | 07:04 |
| sanxiyn | dialtone: Okay with you? | 07:04 |
| sanxiyn | So, let's say, x is FunctionGraph(f:test.py). | 07:05 |
| sanxiyn | clrepr(x) produces #'f so that it can be passed around and called as (funcall #'f arg) | 07:05 |
| sanxiyn | clsym(x) produces f so that it can be used in direct (f arg). | 07:05 |
| dialtone | it's fine | 07:06 |
| dialtone | now I need to leave or I'll lost my train | 07:06 |
| sanxiyn | Bye! | 07:06 |
| dialtone | bye :) | 07:07 |
| dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) left irc: | 07:07 | |
| xorAxAx | sanxiyn: i know that grammar rule | 07:28 |
| xorAxAx | sanxiyn: but i dont see the problem parsing it | 07:28 |
| xorAxAx | sanxiyn: and yes, the remark in parenthesis reminds the recipient that my client sent the message | 07:28 |
| coumbes (n=coumbes@12.43.95.191) left irc: "Leaving" | 07:44 | |
| arre (n=ac@alchemist.strakt.com) joined #pypy. | 07:50 | |
| janb_ (n=jan@ip-85-17.travedsl.de) joined #pypy. | 07:52 | |
| sanxiyn (n=tinuviel@211.104.100.240) left #pypy ("Bye"). | 07:58 | |
| nikh (n=nikh@168.45.79.83.cust.bluewin.ch) joined #pypy. | 08:02 | |
| nikh | morning | 08:02 |
| arre | Hi nikh! | 08:04 |
| lac (n=lac@pdpc/supporter/gold/lac) left #pypy. | 08:28 | |
| idnar (i=mithrand@unaffiliated/idnar) left irc: Read error: 110 (Connection timed out) | 08:32 | |
| aleale | hi | 08:32 |
| aleale | arre: I succeeded in rtyping _socket. But it faiiled in malloc removal :( | 08:34 |
| arre | Still, it's progress. | 08:34 |
| arigo (n=arigo@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy. | 08:37 | |
| stedi67 (n=stedi67@p54BCFEC4.dip.t-dialin.net) joined #pypy. | 08:40 | |
| agurney (n=alf@agurney.pck.nerim.net) joined #pypy. | 08:41 | |
| agurney (n=alf@agurney.pck.nerim.net) left #pypy. | 08:41 | |
| auc (n=auc@logilab.net2.nerim.net) joined #pypy. | 08:55 | |
| aleale | arre: Yeah, but I dont really know what to do about it | 08:58 |
| arre | aleale: I'll have a look at it as soon as i have upgraded my laptop. | 08:58 |
| idnar_ (i=mithrand@unaffiliated/idnar) joined #pypy. | 09:03 | |
| aleale | arre: the tb is athttp://pastebin.de/6415 | 09:09 |
| aleale | arre: at http://pastebin.de/6415 | 09:09 |
| mickg10_ (n=mickg10@ool-44c32d6c.dyn.optonline.net) joined #pypy. | 09:15 | |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy. | 09:21 | |
| pedronis | arigo: it seems since two days the framework build is segfaulting when running pystone: http://codespeak.net/~ericvrp/benchmark/ | 09:24 |
| jiwon_ (n=jiwon@rescomp-05-80325.Stanford.EDU) joined #pypy. | 09:27 | |
| arigo | aleale: ah, another malloc removal bug | 09:32 |
| arigo | aleale: how can I reproduce it? | 09:33 |
| braintone | ale - r26752 - Fixing a test failure. Apparently you cannot ask if a ctypes pointer is None, but bool(NullPointer) returns false | 09:38 |
| aleale | arigo: You want a small testcase ? I havent got anything smaller than translating with _socket. | 09:41 |
| arigo | aleale: ah, ok, I'll try that then | 09:41 |
| aleale | I got a pdb session open, if there is anything I should fish for? | 09:42 |
| arigo | I guess I need to stare at flowgraphs a lot | 09:42 |
| aleale | you saw the tb right ? in http://pastebin.de/6415 | 09:43 |
| arigo | hum, it would also be really nice to have a way to pass a single mixedmodule through the translation process, at least to debug it | 09:43 |
| arigo | aleale: yes | 09:43 |
| pedronis | arigo: yes | 09:44 |
| Action: arigo optimistically tries "rpython/rctypes/tool/compilemodule.py _socket" | 09:44 | |
| arigo | ah, missing support for Typedefs | 09:44 |
| pedronis | yep | 09:45 |
| pedronis | that's the other "big" missing thing | 09:46 |
| arigo | aleale: I get a different crash, during rtyping | 09:47 |
| arigo | you have no local changes? | 09:47 |
| arigo | waaa | 09:50 |
| antocuni (n=chatzill@tyr.disi.unige.it) joined #pypy. | 09:51 | |
| cfbolz (n=carlson@fwstups.cs.uni-duesseldorf.de) joined #pypy. | 09:51 | |
| cfbolz | hi! | 09:51 |
| arigo | space.wrap(r_uint(..)) fails | 09:51 |
| arigo | hi! | 09:51 |
| pedronis | cfbolz: hi | 09:52 |
| antocuni | hi | 09:52 |
| pedronis | cfbolz: the framework build is segfaulting since two days it seems | 09:52 |
| cfbolz | pedronis: yes, I've seen it. I am baffled, since I failed to reproduce it | 09:52 |
| cfbolz | pedronis: my own translate does not segfault :-( | 09:54 |
| pedronis | also I looked at the check ins there's no obvious candidate | 09:55 |
| pedronis | it may be a pre-existing bug | 09:55 |
| pedronis | that shows up only under some conditions | 09:55 |
| pedronis | :( | 09:55 |
| cfbolz | annoying | 09:56 |
| cfbolz | maybe it is the -O3 :-) | 09:56 |
| pedronis | I wil try on my office machine | 09:57 |
| pedronis | someone you has root access on snake my try to at least see with gdb | 09:57 |
| pedronis | where the executables crash | 09:57 |
| pedronis | they should still be in eric directory | 09:57 |
| arigo | the flow graph of wrap__r_uint is completely strange | 09:57 |
| pedronis | space.wrap of r_uint was probably never used so far | 09:58 |
| arigo | but why does it work for aleale then? | 09:58 |
| pedronis | order issues? | 09:59 |
| arigo | I've no clue how the graph can be so different from order issues | 10:00 |
| pedronis | how does it look like? | 10:00 |
| arigo | as if the isinstance(x, long) case was constant-folded to False | 10:01 |
| pedronis | well, r_uint become SomeInteger | 10:02 |
| arigo | but if I try a small test, then isinstance(x, long) is folded to True | 10:03 |
| aleale | arigo: I have one local change in pypy/objspace/std/objspace.py : | 10:03 |
| aleale | - # annotation should actually not get here | 10:03 |
| aleale | + assert 0, "annotation should actually not get here " | 10:03 |
| aleale | + | 10:03 |
| arigo | I see | 10:03 |
| arigo | yes, this hides the problem (which is real, though) | 10:04 |
| pedronis | the fact is that the behavior | 10:04 |
| antocuni | nikh: ping | 10:04 |
| pedronis | of isinstance(.,long) | 10:04 |
| pedronis | is different if the value is a constant or not | 10:05 |
| arigo | uh | 10:05 |
| arigo | pedronis: right | 10:06 |
| pedronis | I'm looking at the code in builtin.py | 10:06 |
| pedronis | not saying that it is sane | 10:06 |
| arigo | indeed, if it's not a constant, the isinstance says False | 10:06 |
| pedronis | it has involved in strange ways over time | 10:06 |
| pedronis | although the problem here is more | 10:07 |
| pedronis | that SomeInteger(unsigned) isinstance r_uint doesn't fold to true | 10:07 |
| arigo | yes, but on top of CPython all these r_xxx classes inherit from long | 10:08 |
| arigo | a fact which space.wrap() implicitely uses | 10:08 |
| pedronis | well, but that's not rpython | 10:08 |
| arre (n=ac@alchemist.strakt.com) left irc: Remote closed the connection | 10:15 | |
| braintone | bea - r26753 - needs a summary of the working days - Nik, Samuele, Arre and the rest - please fill in.. | 10:23 |
| braintone | arigo - r26754 - (pedronis, arigo) Push and pull to make space.wrap(r_uint(..)) annotate. | 10:36 |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: "Valid HTML! http://validator.w3.org/ | Support ISO 8601! http://www.cl.cam.ac.uk/~mgk25/iso-time.html" | 10:38 | |
| arigo | levels of confusion | 10:38 |
| arigo | it seems that the bash completion is only showing a few of the pypy-c-* executables on snake | 10:39 |
| arigo | ah oh | 10:39 |
| arigo | it's because the permissions are strange, only the cron job user can execute them | 10:39 |
| arigo | waaa | 10:39 |
| cfbolz | yes | 10:40 |
| cfbolz | it sucks | 10:40 |
| arigo | anyone familiar with /etc/sudoers format? | 10:42 |
| cfbolz | no, but it seems that its man file gives an BNF grammar for the format | 10:44 |
| cfbolz | :-) | 10:44 |
| arigo | *snake users*: anybody can now do sudo /bin/su pypytester | 10:52 |
| arigo | so that anybody can go and look at the failures | 10:53 |
| arigo | found by the pypytester cron job | 10:53 |
| cfbolz | thank you | 10:54 |
| cfbolz | that's wonderful | 10:54 |
| cfbolz | pedronis: of course the bug goes away when run in gdb | 10:57 |
| arigo | we just found out too | 10:57 |
| cfbolz | :-( | 10:57 |
| Action: cfbolz --> food | 10:59 | |
| nikh | antocuni: yes? | 11:03 |
| pedronis | cfbolz: we managed to get a core dump but of course there's no symbol information | 11:06 |
| pedronis | we are trying to recompile and see if the segfault survive | 11:06 |
| antocuni | nikh: about rstr; I've noticed that lltypesystem specific stuffs like STR have been left in rpython/ instead of rpython/lltypesystem | 11:08 |
| antocuni | is there a particular reason to do that? | 11:09 |
| stakkars (i=bbivhndw@i577B4779.versanet.de) joined #pypy. | 11:09 | |
| arre (n=ac@alchemist.strakt.com) joined #pypy. | 11:09 | |
| nikh | antocuni: no reason | 11:10 |
| nikh | it's all transitional. i left some stuff in strange places to not break too much other stuff at once ;) | 11:10 |
| nikh | of course STR should move to lltypesystem at some point | 11:11 |
| stakkars | arigo: thanks for your help! | 11:11 |
| antocuni | nikh: ok, just to know | 11:11 |
| stakkars | do we have pypy-sync at 1pm today? | 11:17 |
| braintone | bea - r26756 - language review | 11:19 |
| arigo | it would be 5pm, but it's not announced | 11:21 |
| stakkars | yes, I couldn't find it. 5pm is fine. | 11:22 |
| stakkars | I'd like to send out an email that asks everybody to think about sprint topics which | 11:22 |
| stakkars | make sense to have. We can't all work on the speed issues all the time, but enough to bge accepted I guess? | 11:24 |
| stakkars | do I? | 11:25 |
| braintone | arigo - r26757 - We now need to specialize this, for space.wrap(r_xxx()) where r_xxx can be various classes from rarithmetic. | 11:38 |
| arigo | stakkars: did you get an answer to my mail? | 11:38 |
| stakkars | an answer to what you sent to John? | 11:39 |
| arigo | yes | 11:39 |
| arigo | I didn't see any mail that suggested we would be refused to come to Iceland unless we stick to topics they like | 11:39 |
| arigo | only that there was confusion about what our topics would be | 11:40 |
| arigo | (I mentioned in that mail that the topics have been sent out 3 weeks ago in our PyPy sprint announcement for Iceland) | 11:40 |
| stakkars | there is a communication problem. Steve thought that he communicated what we are going to do etc., but it didn't | 11:40 |
| stakkars | reach the right people. | 11:40 |
| stakkars | I will send you a frightening email and my answer. | 11:41 |
| stakkars | the remaining statement is: the sprint is about speed. | 11:41 |
| stakkars | I'm sitting between chairs, now, and I will either recommend the sprint ornot. | 11:42 |
| arigo | but you didn't get my e-mail?? | 11:42 |
| stakkars | oops | 11:42 |
| arigo | it's just that I already sent my thoughts to John in that e-mail | 11:43 |
| arigo | so one more thing to care about :-/ | 11:43 |
| stakkars_ (i=vukdlkf@i577B4779.versanet.de) joined #pypy. | 11:43 | |
| stakkars (i=bbivhndw@i577B4779.versanet.de) left irc: Read error: 104 (Connection reset by peer) | 11:45 | |
| stakkars_ | I've sent what I got, just you know in what conflict I am | 11:48 |
| stakkars_ | that's why I need some say what we're going to do, and then they should decide what to do. | 11:49 |
| pedronis | I'm going to the office now | 12:07 |
| pedronis | will be back online from there | 12:07 |
| Action: cfbolz is back | 12:07 | |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.69.1 [Firefox 1.5.0.3/2006042618]" | 12:09 | |
| cfbolz | arigo: my compile from yesterday does not crash with erics cmdline | 12:09 |
| arigo | cfbolz: on snake, we can reproduce it | 12:09 |
| arigo | even with -g without -O | 12:10 |
| cfbolz | ah, cool | 12:10 |
| arigo | maybe | 12:10 |
| cfbolz | mine is from snake too | 12:10 |
| cfbolz | so strange | 12:10 |
| arigo | indeed | 12:10 |
| cfbolz | especially since it seems to happen only if you do -c and import and whatnot | 12:10 |
| arigo | cfbolz: the code manipulates objects that are probably garbage -- at least the typeids are nonsense | 12:12 |
| arigo | e.g. 181585120 | 12:13 |
| cfbolz | :-( | 12:13 |
| cfbolz | arigo: are you in a screen? | 12:14 |
| arigo | er yes | 12:16 |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy. | 12:16 | |
| arigo | cfbolz: the screen doesn't have an easy name | 12:17 |
| cfbolz | :-) | 12:17 |
| arigo | cfbolz: try screen -x arigo/3793.pts-10.snake | 12:17 |
| cfbolz | I'm in | 12:17 |
| xorAxAx | screen -ls name/ helps here :) | 12:18 |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.69.1 [Firefox 1.5.0.3/2006042618]" | 12:24 | |
| fijal (n=dupa@genesilico.pl) joined #pypy. | 12:25 | |
| stakkars_ | re | 12:27 |
| arigo | hi | 12:27 |
| cfbolz | arigo: it seems we are doing quite some collections | 12:28 |
| arigo | not that much | 12:30 |
| cfbolz | well, I think boehm is doing far less | 12:30 |
| arigo | ah | 12:31 |
| cfbolz | arigo: btw, you really reduced the number of decrefs/incref by a small amount only | 12:31 |
| cfbolz | so we probably really spend loads of time for pushing/popping | 12:32 |
| arigo | :-) | 12:32 |
| xorAxAx | hmm, you could count collections :) | 12:34 |
| thingie65 | stakkars: Have you had any time to read the post to the stackless mailing list from me, about the pickling bug? | 12:35 |
| stakkars_ | hpk: we got problems with iceland. maybe I brief you? | 12:36 |
| hpk | makes sense, also steve mailed me - but let's all get together at 3pm | 12:36 |
| stakkars_ | arigo: did you hear mje? I got channel split | 12:37 |
| arigo | stakkars_: ah, no I didn't hear you I guess | 12:38 |
| Nick change: stakkars_ -> stakkars | 12:38 | |
| stakkars | shizophrenic stakkars: I'm one person, again. Me too :-) | 12:43 |
| Gromit | stakkars, it goes: "I am shizophrenic and so I am" ;) | 12:50 |
| stakkars | and so am I | 12:55 |
| Gromit | ah, you two too | 12:56 |
| stakkars | me twoo | 12:56 |
| stakkars | two to Tolouse | 12:56 |
| nikh (n=nikh@168.45.79.83.cust.bluewin.ch) left irc: "school" | 13:01 | |
| bea (n=chatzill@user72.85-195-13.netatonce.net) joined #pypy. | 13:02 | |
| bea | hi everyone! | 13:02 |
| stakkars | hi | 13:02 |
| bea | hi christian - are you back home now? | 13:02 |
| stakkars | yes. I'm spending all day since yesterday to save the relationship with EWT | 13:03 |
| stakkars | I'm writing a summary for you | 13:03 |
| bea | stakkars:? | 13:03 |
| bea | stakkars: ahh - ok - I look forward to read it then | 13:03 |
| cfbolz | hi bea! | 13:15 |
| bea | hi carl! | 13:15 |
| antocuni (n=chatzill@tyr.disi.unige.it) left irc: "Chatzilla 0.9.72 [Firefox 1.5/2005120619]" | 13:16 | |
| stakkars | sent. | 13:17 |
| bea | stakkars: thanks - am reading it now | 13:21 |
| stakkars | frightening | 13:21 |
| bea | cfbolz: is it possible to generate a pdf now - I made some language fixes and my shepherd prefers reading pdf - not txt files...:-( | 13:21 |
| cfbolz | yes | 13:22 |
| cfbolz | is half an hour ok? | 13:23 |
| bea | cfbolz: of course ! | 13:23 |
| braintone | arigo - r26759 - (arigo, cfbolz): test + fix for a case where the calculation of what needs to be saved accross a call was wrong. delete the whole special casing in framework gc transformer. This should be implemented | 13:29 |
| pedronis (i=pedronis@ratthing-b246.strakt.com) joined #pypy. | 13:35 | |
| pedronis | arigo: what was the bug? | 13:38 |
| braintone | arigo - r26760 - (arigo, cfbolz): add debug prints to collect. This might be annoying but gives interesting insights to how often collections happen and what gets collected | 13:38 |
| cfbolz | pedronis: strange code by me :-( | 13:38 |
| arigo | getfield or getarrayitem assuming the result didn't need a pushalive | 13:38 |
| pedronis | ah, well that's not true in general | 13:41 |
| cfbolz | not at all | 13:41 |
| cfbolz | we just removed the whole needs_conservative... thing | 13:41 |
| rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) joined #pypy. | 13:42 | |
| pedronis | cfbolz: it was ignoring possible setfields | 13:46 |
| pedronis | cfbolz, arigo: will not the print break the cron job output parsing | 13:49 |
| Nick change: idnar_ -> idnar | 13:49 | |
| cfbolz | cfbolz: ah, hum | 13:51 |
| cfbolz | pedronis: I meant you | 13:51 |
| cfbolz | :-) | 13:51 |
| cfbolz | it will probably | 13:51 |
| pedronis | are you still working on the issue? | 13:52 |
| arigo | no | 13:53 |
| arigo | I've no clue what the cron job does | 13:53 |
| stakkars | where to meat at 3pm? | 13:54 |
| pedronis | arigo: it uses bench-cronjob.py I think | 13:54 |
| pedronis | under goal | 13:54 |
| pedronis | cfbolz: are you going to rewrite the push/pop optimisation in a cleaner and correct form | 13:55 |
| pedronis | ? | 13:55 |
| arigo | pedronis: well, sorry, I know, I meant that what this file does I have no clue | 13:55 |
| pedronis | well, I just don't think that breaking the cronjob is a good idea | 13:55 |
| cfbolz | pedronis: yes, I agree | 13:56 |
| cfbolz | pedronis: but I might not care enough for the print and tend to just remove it again | 13:56 |
| arigo | but I don't see what parsing you refer to | 13:56 |
| pedronis | it uses bench-unix.py | 13:57 |
| pedronis | for the benchmarking | 13:57 |
| arigo | (which I don't know either) | 13:57 |
| stakkars | it's eric's | 13:57 |
| cfbolz | pedronis: ah, it will probably keep working | 13:58 |
| cfbolz | pedronis: it ignores lines it cannot handle | 13:58 |
| arigo | seems so | 13:59 |
| arigo | sorry, I had no clue it was parsing any output | 13:59 |
| pedronis | you forgot a \n in the collecting line? | 13:59 |
| cfbolz | no, there is another print afterwards | 13:59 |
| pedronis | ah, is one line | 14:00 |
| cfbolz | yes | 14:00 |
| cfbolz | pedronis: as to doing a more general clean/general/correct form of the optimization: I am not sure yet how to do it | 14:11 |
| cfbolz | bea: what exactly do you want in your author/contact information? | 14:14 |
| bea | cfbolz: can I add that later - I am working on other fixes and will ship again tonight | 14:15 |
| cfbolz | ok, whatever | 14:15 |
| braintone | cfbolz - r26761 - fix quotes and regenerate pdf | 14:19 |
| braintone | arigo - r26762 - Fix and test for another malloc removal bug. | 14:26 |
| arre (n=ac@alchemist.strakt.com) left irc: "Konversation terminated!" | 14:35 | |
| arre (n=ac@alchemist.strakt.com) joined #pypy. | 14:39 | |
| arigo | aleale: hey, the _socket module translation I started 1 hour ago is at the compiling stage :-) | 15:08 |
| cfbolz | cool! | 15:08 |
| aleale | cool | 15:09 |
| aleale | Now we "only" need to fix the platform issues and some IPV6 issues | 15:10 |
| xorAxAx | arigo: btw, have you started writing the SOC-screenscraper or was it a joke? :) | 15:10 |
| arigo | aleale: the result is quite broken, though :-( | 15:10 |
| arigo | xorAxAx: it was not a joke but I didn't start | 15:11 |
| cfbolz | arigo: broken in which sense? | 15:11 |
| aleale | that was going to be my next comment | 15:11 |
| arigo | http://pastebin.de/6420 | 15:13 |
| cfbolz | oha | 15:14 |
| cfbolz | what is gaierror? | 15:14 |
| arigo | not sure, it's an exception from the _socket module | 15:15 |
| Gromit | an error in name resolution | 15:15 |
| exarkun | arigo: does your module turn '' into INADDR_ANY instead of trying to resolve it as a hostname? | 15:15 |
| Gromit | form getaddrinfo or getnameinfo | 15:15 |
| arigo | I don't really know this module, it's not mine :-) | 15:16 |
| exarkun | ah | 15:16 |
| pedronis | arre, aleale: can you input on this | 15:17 |
| cfbolz | arigo: well, but it works on top of cpython, right? | 15:17 |
| arigo | exarkun: I'd suspect something broken in the various level interfaces | 15:17 |
| arigo | exarkun: particularly when seeing the last error | 15:17 |
| exarkun | yea, that's not a cool address family | 15:18 |
| aleale | I dont think I will have time to look into it until the weekend | 15:19 |
| sanxiyn (n=tinuviel@222.233.187.103) joined #pypy. | 15:19 | |
| cfbolz | hi! | 15:19 |
| arre | gaierror are errorcodes returned by getaddrinfo(). | 15:19 |
| aleale | In Japan we took the existing interpreter level implementation and converted to rctypes without looking too much at the logic | 15:20 |
| arigo | hi Seo | 15:23 |
| braintone | arigo - r26763 - r_dicts don't actually need the hash of their keys, as they delegate its computation to callbacks. | 15:23 |
| braintone | arigo - r26764 - Forgot prebuilt r_dicts. | 15:26 |
| sanxiyn | arigo: hi! | 15:28 |
| arre | Well, the un-translated _socket works fine... | 15:28 |
| arigo | strange... it can be rctypes bugs of course | 15:28 |
| arigo | arre: ah, at least s.bind(('', 1234)) fails for me in the same way | 15:29 |
| arigo | in "py.py --usemodules=_socket" | 15:29 |
| sanxiyn | Heh. | 15:30 |
| sanxiyn | From: Jim Hugunin <Jim.Hugunin@microsoft.com> | 15:30 |
| arre | arigo: Ah, I'm using s.bind(('127.0.0.1', 5151)) and that works for me. | 15:30 |
| sanxiyn | Subject: Thanks for all your contributions to IronPython community! | 15:30 |
| cfbolz | :-) | 15:30 |
| cfbolz | sanxiyn: and it continues: "but please stop making ironpython obsolete by working on pypy"? :-) | 15:31 |
| sanxiyn | cfbolz: Eh no. | 15:31 |
| cfbolz | arigo, pedronis: how would I go about not adding an extra field to all classes for weakrefs? add a subclass of W_Root (W_RootWeakrefable?)? | 15:32 |
| cfbolz | and propagate it up | 15:32 |
| sanxiyn | arigo: Does '' mean 0.0.0.0 in bind()? | 15:32 |
| pedronis | cfbolz: I fear you need something like that in rpython, to avoid getting the field everywhere | 15:33 |
| Gromit | sanxiyn, for AF_INET yes | 15:33 |
| arigo | cfbolz: no I think not | 15:33 |
| arigo | sanxiyn: I think so | 15:33 |
| sanxiyn | arigo: And '' in connect? | 15:33 |
| arigo | I don't know really, I'm just using '' in bind() myself in general | 15:33 |
| Gromit | sanxiyn, it means the same in connect | 15:34 |
| cfbolz | arigo: what would you propose? | 15:34 |
| arigo | it probably means INADDR_ANY, which probably is '0.0.0.0' | 15:34 |
| pedronis | arigo: ? | 15:34 |
| sanxiyn | Gromit: Not loopback? | 15:34 |
| pedronis | cfbolz: the other possibilities is to use a method | 15:34 |
| Gromit | ups | 15:34 |
| pedronis | to set and access the field | 15:34 |
| sanxiyn | s.connect(('', 80)) is s.connect(('0.0.0.0', 80))? I don't think so. | 15:34 |
| cfbolz | pedronis: and the method stores it where? | 15:34 |
| Gromit | sanxiyn, you are right | 15:35 |
| pedronis | it stores it in the field | 15:35 |
| sanxiyn | Currently, in my socket for IronPython, I map empty string to .NET IPAddress.Any in bind() and IPAddress.Loopback in connect(). | 15:35 |
| pedronis | but beacuse the self argument | 15:35 |
| pedronis | is precise | 15:35 |
| sanxiyn | This doesn't seem to be documented. | 15:35 |
| pedronis | you can control where it gets attached | 15:35 |
| pedronis | but you need a way to mix the version setting the field | 15:35 |
| pedronis | in the right classes | 15:36 |
| pedronis | a fresh version | 15:36 |
| cfbolz | ah, I see | 15:36 |
| cfbolz | so I have two versions, one that refuses to add the field, and one that adds it | 15:36 |
| arigo | in theory you can follow how dicts are added to only some W_Root subclasses | 15:36 |
| pedronis | arigo: yes, that what I described | 15:37 |
| arigo | also because it is triggered by the '__weakref__' slot in the same way as the '__dict__' slot | 15:37 |
| cfbolz | ah, right | 15:37 |
| pedronis | arigo: ah, you want to use a real slot | 15:37 |
| pedronis | but then you need a way to do that for predefined | 15:37 |
| pedronis | types | 15:37 |
| pedronis | you need to tweak type constrution | 15:38 |
| arigo | pedronis: it's the same for dicts | 15:38 |
| arigo | e.g. Function has its own dict | 15:38 |
| arigo | basically they should work in the same way everywhere | 15:39 |
| pedronis | but it is setup in the __init__ | 15:39 |
| pedronis | and accessed with getset | 15:39 |
| arigo | yes, I was proposing to do the same | 15:40 |
| arigo | the __init__ initialization can probably be skipped with a class attribute defaulting to None | 15:40 |
| cfbolz | can you assign to the __weakref__ attribute? | 15:40 |
| pedronis | well, the internal name doesn't need to much the external one | 15:41 |
| arigo | cfbolz: not from app-level | 15:41 |
| cfbolz | ok | 15:41 |
| arigo | but to create a weakref, clearly, you need to assign to the attribute, so you need a 'setweakref' method if we follow the 'setdict' example | 15:41 |
| cfbolz | and setweakref would default to something that raises and can be overridden to something that stores it in an appropriate place? | 15:42 |
| arigo | yes, the name of the RPython attributes should not be '__weakref__', clearly :-) | 15:42 |
| cfbolz | sure | 15:42 |
| arigo | cfbolz: yes | 15:42 |
| arigo | while we're at it, could the same approach work to avoid the 'hash_cache' field in W_Root? | 15:43 |
| cfbolz | what I don't see yet is how I can get copies of the setting setweakref method | 15:43 |
| pedronis | arigo: ? | 15:44 |
| pedronis | does it get there | 15:44 |
| sanxiyn (n=tinuviel@222.233.187.103) left irc: "Bye" | 15:44 | |
| arigo | pedronis: of course, because of W_Root.identity_hash() | 15:45 |
| fijal (n=dupa@genesilico.pl) left irc: "using sirc version 2.211+KSIRC/1.3.12" | 15:45 | |
| Action: arigo found a detail that pedronis forgot :-) | 15:45 | |
| cfbolz | :-) | 15:45 |
| pedronis | I think, the plan was indeed to be more clever | 15:45 |
| pedronis | and disperse the implementation | 15:45 |
| pedronis | basically have W_Root version be abstract | 15:46 |
| pedronis | never bothered so far tough | 15:46 |
| pedronis | but that's a slightly different issue because the attribute is added at the rtyper level | 15:47 |
| pedronis | depending on which types | 15:47 |
| pedronis | hash is called | 15:47 |
| arigo | yes | 15:47 |
| pedronis | I added all that code | 15:48 |
| pedronis | carl: you probably need a mixin for that the setting part | 15:49 |
| pedronis | or some trick like that | 15:49 |
| cfbolz | pedronis: mixins copy the method? | 15:50 |
| pedronis | if they are marked properly they should yes | 15:50 |
| arigo | pedronis: are you sure? | 15:50 |
| pedronis | they did at some point | 15:51 |
| pedronis | maybe that was broken by the pbc refactoring | 15:52 |
| cfbolz | are we still using mixins somewhere? | 15:52 |
| stakkars | dunno if it is related, but maybe using a similar way as I chimed my wrapper fields into instances might be useful? | 15:52 |
| pedronis | arigo: yes, it seems this is broken now | 15:53 |
| pedronis | seems only DescrOperation is using that | 15:55 |
| pedronis | so things would break if have different spaces | 15:55 |
| pedronis | used together | 15:55 |
| stakkars | :-X | 15:55 |
| pedronis | :( | 15:57 |
| arigo | stakkars: I think the problem is at RPython level here | 15:57 |
| stakkars | sure, me too | 15:57 |
| pedronis | we have not annotation test about _mixin_ it seems | 15:58 |
| arigo | stakkars: then I'm not sure what you mean -- are there examples or tests somewhere? | 15:58 |
| arigo | pedronis: bad us | 15:58 |
| pedronis | indeed | 15:58 |
| stakkars | see rclass.py and the way extra fields are inserted, without affecting w_root | 15:59 |
| pedronis | I can write one if we think it should be fixed | 15:59 |
| stakkars | _mixin_ t+btw. didn't work when I tried to use it. I think to remember there is a problem if you are not mixing into the root class. | 16:00 |
| arigo | stakkars: what I was saying is that we're investingating ways to do it at RPython level, instead of during rtyping | 16:01 |
| stakkars | aha. Now I got it | 16:02 |
| arigo | indeed, the hash cache is done in a similar way | 16:02 |
| arigo | but the problem is convincing the annotator to figure out where exactly the hash_cache field is needed | 16:02 |
| arigo | which means, RPython-level tricks | 16:03 |
| stakkars | and you want to move this out of the back-end-ish rtyper | 16:03 |
| arigo | no, it's fine in the rtyper | 16:05 |
| pedronis | arigo: yes, a test fails | 16:05 |
| arigo | the problem is that right now we access the hash of W_Root with hash() somewhere at source level | 16:05 |
| arigo | which forces the rtyper to put this hash_cache field on W_Root (it cannot do better anyway) | 16:06 |
| arigo | so we are discussing about how to fix the source | 16:06 |
| stakkars | you don't want it there cause it's mostly for certain objects | 16:07 |
| stakkars | you want to adjust the class hierarchy to do it more properly | 16:07 |
| pedronis | arigo: mmh, uou can always do object.__hash__(x) | 16:08 |
| arigo | stakkars: yes, probably with mixins | 16:08 |
| arigo | pedronis: I see, but you can also do id(x) | 16:09 |
| arigo | to support permanent id's with a moving GC we need to be very careful | 16:09 |
| pedronis | well, that's why identity uses hash and not id | 16:10 |
| pedronis | identity_hash | 16:10 |
| cfbolz | I still don't know what to do about setweakref, though | 16:10 |
| pedronis | cfbolz: ? | 16:10 |
| cfbolz | should a mixin work or not? | 16:10 |
| arigo | pedronis: I mean at app-level | 16:10 |
| arigo | currently, objspace/std/default.py is broken for a moving GC | 16:11 |
| arigo | because at app-level id(x) returns the interp-level id(w_obj) | 16:11 |
| pedronis | you mean id is broken | 16:11 |
| arigo | our current app-level id is broken, yes | 16:11 |
| cfbolz | not as long as we don't have moving gcs | 16:11 |
| pedronis | well, we would need to do the atrocities that jython does | 16:11 |
| pedronis | of course I tried a lot of times | 16:12 |
| pedronis | to convinve python-dev | 16:12 |
| pedronis | to stear away | 16:12 |
| pedronis | from being id happy | 16:12 |
| pedronis | copy.py is a main offender in that sense | 16:12 |
| pedronis | because it doesn't encapsulate its use of id | 16:13 |
| arigo | I know all this, I'm just saying that if you use the argument "object.__hash__(x)" then I reply with the argument "object.__hash__==id, so it really means id(x)" which is a different problem | 16:13 |
| stakkars | maybe redefining id to be a true id of an object, not just the random address | 16:13 |
| pedronis | well, and I answer | 16:13 |
| arigo | for now we could just use w_obj.identity_hash() in our implementation of __builtin__.id() | 16:13 |
| pedronis | that object.__hash__ != id | 16:13 |
| xorAxAx | nobody guarantees that id() returns an address | 16:14 |
| pedronis | for example it is in jython | 16:14 |
| pedronis | because it would be insane to have the default hash | 16:14 |
| pedronis | going to the atrocities that id needs to go trough on a moving gc | 16:14 |
| arigo | I see | 16:14 |
| arigo | but doing object.__hash__(42) is insane | 16:16 |
| pedronis | well, that's a different matter | 16:16 |
| pedronis | but then we should raise an exception | 16:16 |
| pedronis | if one tries | 16:16 |
| arigo | if we go for the overridden identity_hash() methods, then object.__hash__(42) would call the base W_Root.identity_hash() | 16:17 |
| arigo | which can then complain | 16:17 |
| pedronis | yes | 16:20 |
| pedronis | I wrote a test | 16:20 |
| pedronis | and maybe fixed | 16:20 |
| pedronis | _mixin_ | 16:20 |
| cfbolz | cool | 16:21 |
| cfbolz | thank you | 16:21 |
| braintone | pedronis - r26765 - test and fix about _mixin_ | 16:26 |
| Action: cfbolz is going home | 16:33 | |
| cfbolz | see you later! | 16:33 |
| pedronis | see you | 16:33 |
| pedronis | arigo: arre seems to have found the _socket problem | 16:33 |
| cfbolz (n=carlson@fwstups.cs.uni-duesseldorf.de) left irc: "bye" | 16:33 | |
| arre | It's about the sockaddr.sa_family field being an unsigned short but being translated into an unsigned long. | 16:34 |
| arigo | argh | 16:36 |
| pedronis | argh indeed | 16:38 |
| pedronis | arigo: we need to support more primitive data types | 16:45 |
| mickg10_ (n=mickg10@ool-44c32d6c.dyn.optonline.net) left #pypy. | 16:50 | |
| arre | Enough for today, see You tomorrow! | 16:53 |
| arre (n=ac@alchemist.strakt.com) left irc: Remote closed the connection | 16:54 | |
| rhymes | arigo: one question. we thought 5/6 modules are suitable for a 2 months project but the SoC is 3 months long. So since I'm writing the application and I don't want to overestimate (and underestimate neither) the all the project can you tell me if you meant 3 instead of 2? | 17:00 |
| stakkars | pedronis: do I cc to Steve? | 17:02 |
| pedronis | stakkars: wrong channel | 17:02 |
| pjd (n=pjd@dsl-165-238-134.telkomadsl.co.za) joined #pypy. | 17:05 | |
| pjd | anyone here familiar with PyThreadState in CPython? | 17:05 |
| stakkars | yeah! | 17:06 |
| stakkars | but don't discuss it here :-) | 17:06 |
| pjd | specifically, under what conditions PyThreadState->f_back could end up NULL | 17:06 |
| pjd | stakkars: i've gotten no response from the more canonical channels :( | 17:07 |
| stakkars | this does not exist -- ok | 17:07 |
| stakkars | you mean when pystate->frame can be NULL ? | 17:07 |
| pedronis (i=pedronis@ratthing-b246.strakt.com) left irc: "Chatzilla 0.9.67 [Firefox 1.0.4/20050925]" | 17:10 | |
| dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) joined #pypy. | 17:23 | |
| dialtone | uhmmm | 17:31 |
| dialtone | arigo: where can I find a template for a proposal? | 17:31 |
| dialtone | or some examples | 17:31 |
| auc (n=auc@logilab.net2.nerim.net) left irc: "Parti" | 17:32 | |
| Action: arigo is kind of away | 17:32 | |
| dialtone | ok, I'll come back later :) | 17:33 |
| stedi67 (n=stedi67@p54BCFEC4.dip.t-dialin.net) left irc: Read error: 104 (Connection reset by peer) | 17:44 | |
| rhymes | dialtone: http://groups.google.com/group/Summer-Discuss-2006/browse_thread/thread/c6234ee0db794344/66d8aeddf226bd75?q=template&rnum=1#66d8aeddf226bd75 | 17:45 |
| arigo | rhymes: oh, I thought it was two months... wasn't it two months last year? | 17:46 |
| stakkars | the thing above is a generator bug that was fixed at some point | 17:46 |
| rhymes | arigo: from 22th of may to 21th of august AFAIK | 17:46 |
| arigo | indeed | 17:46 |
| stakkars | a wrong assert that I just exercized myself to find, again | 17:47 |
| rhymes | arigo: 2weeks per module it seems good to me | 17:49 |
| arigo | it all depends on the module | 17:51 |
| arigo | 2-3 weeks sounds good for simple modules | 17:51 |
| arigo | well, 2 weeks exactly I mean | 17:51 |
| rhymes | i divided the timeline. 2 weeks per module. 2 module before the mid term evaluation. 3 after that. | 17:52 |
| arigo | mid-term being after 1 month and not in the middle, confusingly... yes, it sounds reasonable | 17:53 |
| rhymes | :) | 17:54 |
| rhymes | arigo: It's better to send the application proposal to the pypy-dev or python-soc06 ml first or I'll send it directly from the google form? | 17:59 |
| arigo | directly to the google form | 17:59 |
| arigo | we can read it there and comment on it | 17:59 |
| pjd (n=pjd@dsl-165-238-134.telkomadsl.co.za) left irc: | 18:18 | |
| bea | arigo: can I ask you a weird question? | 18:20 |
| dialtone | uhmmm | 18:24 |
| sanxiyn (n=tinuviel@222.233.187.103) joined #pypy. | 18:24 | |
| dialtone | Interestingly I don't have an idea of the deliverables and the timeline for the cl backend plus backend specific features | 18:24 |
| dialtone | besides the obvious :) | 18:24 |
| dialtone | hi sanxiyn | 18:25 |
| sanxiyn | dialtone: I am also thinking about that. | 18:25 |
| dialtone | are you also applying? | 18:25 |
| sanxiyn | It would be very nice to have middle-sized (defined as between rpystone and pypy) RPython program. | 18:25 |
| sanxiyn | dialtone: No. | 18:25 |
| sanxiyn | (I meant, also thinking about possible "deliverable".) | 18:26 |
| dialtone | well there are of course 2 deliverables, the common lisp backend and the backend specific features :) | 18:26 |
| dialtone | I'd divide the 2 into: compile rpython + backend specific features | 18:27 |
| dialtone | and compile pypy | 18:27 |
| cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) joined #pypy. | 18:27 | |
| sanxiyn | dialtone: You'd need something like "Common Lisp backend for PyPy translation toolchain capable of translating A, B, C and can be run on Common Lisp X, Y, Z." | 18:27 |
| dialtone | err compile rpystone | 18:27 |
| sanxiyn | (Well, as long as we follow the spec, there's not much to do to support different CLs.) | 18:28 |
| sanxiyn | By the way, off topic, English question. | 18:28 |
| dialtone | well not really :) | 18:28 |
| dialtone | the spec is sometime deliberately free | 18:28 |
| sanxiyn | Text on this page is supposed to be funny. Is it? | 18:28 |
| sanxiyn | http://sparcs.kaist.ac.kr/~tinuviel/fepy/ironcherry/ | 18:28 |
| cfbolz | fairly funny, but only to python insiders | 18:30 |
| sanxiyn | cfbolz: Eh, that website was Google #1 for "ironcherry"... | 18:30 |
| cfbolz | I guessed so | 18:31 |
| sanxiyn | Anyway, this is a patchset to run CherryPy on IronPython. It runs. | 18:31 |
| sabi | sanxiyn: that's all you need to get cherrypy to run on ironpython, or something? | 18:31 |
| sabi | ah, nice. | 18:31 |
| sanxiyn | sabi: Exactly. | 18:31 |
| sanxiyn | sabi: I also wrote a detailed howto and sent it to IronPython list and CherryPy list, like, 10 min ago. | 18:31 |
| Action: sabi still needs to find some decent justification for why he's doing stuff with pypy instead of ironpython | 18:32 | |
| sanxiyn | sabi: Are you working on cross-language thing or such? | 18:32 |
| xorAxAx | hmm, ironpython would make it scale on multiple cpus | 18:33 |
| sanxiyn | xorAxAx: No idea about that... | 18:33 |
| sabi | sanxiyn: perhaps. | 18:34 |
| xorAxAx | sanxiyn: IP doesnt have a GIL, does it? :) | 18:34 |
| sanxiyn | xorAxAx: I guess not. It uses .NET thread. | 18:34 |
| sabi | no, no GIL and last i checked, no locks on individual data structures like jython | 18:34 |
| sabi | so i dunno what happens if e.g. you try to modify a python dictionary on two threads | 18:34 |
| Action: xorAxAx tries | 18:35 | |
| sanxiyn | sabi: By the way, it's quite annoying to debug if problems usually come from equality comparison, function call, or inside regular expression. | 18:37 |
| sanxiyn | Running random X on IronPython usually means finding bugs in the place you least expect them. | 18:37 |
| cfbolz | :-) | 18:38 |
| xorAxAx | hmm, i think i need a vs 2005 vm | 18:38 |
| sabi | sanxiyn: heh | 18:38 |
| xorAxAx | mvl and ip is kinda orthogonal :) | 18:38 |
| xorAxAx | (he decided to choose vs 2003 for 2.5) | 18:38 |
| sanxiyn | sabi: This is an extreme example. | 18:39 |
| sanxiyn | sabi: http://lists.ironpython.com/pipermail/users-ironpython.com/2006-April/002227.html | 18:39 |
| sabi | sanxiyn: haha. | 18:39 |
| sanxiyn | Took a *lot* of time to reduce. | 18:39 |
| cfbolz | what was it? | 18:39 |
| sanxiyn | I won't tell you :( | 18:40 |
| sanxiyn | If the thing crashes, it's easier. | 18:40 |
| stakkars | sabi: this justification should be quite easy to find. IronPython is yust YAPI (yet another Python implementation) while PyPy is a range of that and maybe other languages | 18:40 |
| sanxiyn | Crashing example: | 18:40 |
| sanxiyn | http://lists.ironpython.com/pipermail/users-ironpython.com/2006-May/002229.html | 18:40 |
| Action: sabi just spent 2 days on a bug that required about 20 character fix | 18:41 | |
| cfbolz | in what? | 18:41 |
| sabi | oh well, it's done now :) | 18:41 |
| sabi | transaction machinery was crashing on 4 simultaneous pystone things | 18:42 |
| sabi | turned out it was the code that was checking if the threads were finished :) | 18:42 |
| xorAxAx | sabi: re that IP choice - hacking the .net vm / mono might be more difficult, right? | 18:42 |
| sanxiyn | cfbolz: None dictionary key one is from dnspython. | 18:42 |
| sanxiyn | cfbolz: Ah I remember. Regex one is from nntplib. | 18:42 |
| cfbolz | nntplib? | 18:42 |
| cfbolz | what the heck? | 18:42 |
| sabi | xorAxAx: certainly, yeah | 18:42 |
| sanxiyn | cfbolz: Read the source for details. | 18:42 |
| sanxiyn | cfbolz: Search for "def descriptions" | 18:43 |
| cfbolz | arigo: I knew you would like the roundup cmdline interface/library thing :-) | 18:43 |
| sabi | anyway, thanks. i'll just need to think really hard, gotta talk to my advisor about this tomorrow | 18:43 |
| sanxiyn | This gem is from httplib: http://lists.ironpython.com/pipermail/users-ironpython.com/2006-April/002116.html | 18:44 |
| sanxiyn | (Contrary to what you would think, such comparison is quite rare.) | 18:44 |
| cfbolz | sabi: is he proposing to switch to ironpython? | 18:44 |
| sanxiyn | http://lists.ironpython.com/pipermail/users-ironpython.com/2006-May/002241.html is entirely IronPython team's mistake. | 18:46 |
| sabi | cfbolz: well, more like i need to figure out why i'm not using it | 18:46 |
| sanxiyn | sabi: Hm, what are you researching...? | 18:46 |
| xorAxAx | sabi: it doesnt crash :) | 18:46 |
| sabi | sanxiyn: hardware support for dynamic languages, in general | 18:46 |
| sabi | i can see some justifications for why you would not want to use a heavyweight runtime like .NET | 18:47 |
| sanxiyn | sabi: Oh. | 18:47 |
| sabi | but they mostly revolve around compatibility with existing code | 18:47 |
| cfbolz | sabi: well, and (depending on what you are doing) you could argue that pypy is not only a python implementation but plans to be a way to implement dynamic languages in general | 18:48 |
| sanxiyn | sabi: Is it something like ARM Jazelle? | 18:48 |
| cfbolz | sabi: so if the way you are using pypy is not tied to the fact that it is a python interpreter too much, that could be a good argument | 18:48 |
| sabi | sanxiyn: huh, never seen that. cool. | 18:48 |
| sanxiyn | sabi: Huh? Well, google it. | 18:48 |
| sabi | sanxiyn: yeah, i did. i wasn't planning on doing things that were specific to a particular bytecode format | 18:49 |
| sanxiyn | I see... | 18:50 |
| sanxiyn | Is it like Lisp Machine? | 18:50 |
| sabi | not sure yet :) i was kinda hoping the JIT would have been further along by now so i'd have had some more concrete targets | 18:51 |
| cfbolz | :-( | 18:51 |
| sanxiyn | (LispM reportedly had hardware support for value type check, garbage collection and function call.) | 18:52 |
| cfbolz | my life would be so much easier if there was hardware support for gc :-) | 18:52 |
| sabi | heh. i guess GC would not be a bad thing to look at | 18:53 |
| sanxiyn | http://en.wikipedia.org/wiki/Lisp_machine for history. | 18:53 |
| sanxiyn | "These machines had hardware support for various primitive Lisp operations (data type testing, CDR coding) and also hardware support for incremental garbage collection. They ran large Lisp programs very efficiently. The Symbolics machine was actually competitive against many commercial super mini computers on running Lisp programs." | 18:54 |
| xorAxAx | yep, and "super mini" != pc :) | 18:55 |
| xorAxAx | so nobody would have used for emacs etc. | 18:55 |
| cfbolz | we could have a gc accelerator chip. if there are physics accelerators, why not for gc? | 18:55 |
| sanxiyn | cfbolz: CADR had it as early as 1979. | 18:56 |
| sanxiyn | So I heard. | 18:56 |
| cfbolz | sanxiyn: I am talking for todays pcs | 18:56 |
| cfbolz | and am not being totally serious | 18:56 |
| cfbolz | wa | 18:56 |
| cfbolz | that wasn't proper english | 18:56 |
| sanxiyn | http://www.unlambda.com/cadr/ | 18:57 |
| sanxiyn | I am still planning to have a look at this site when I ran out of interesting projects to do. :) | 18:58 |
| sanxiyn | Some archivists found complete source code of MIT CADR Lisp Machine in some tape drives and restored it. | 18:59 |
| dialtone | what do you think of these 4 deliverables: | 18:59 |
| sanxiyn | And from the CADR specification (it was machine designer's thesis) somebody wrote a emulator, and these codes started to run on it. | 18:59 |
| dialtone | Translating rpystone | 18:59 |
| dialtone | Translating PyPy | 18:59 |
| sanxiyn | dialtone: Oh. | 18:59 |
| dialtone | CL code running at least on OpenMCL, sbcl and clisp | 19:00 |
| dialtone | Being able to specialize the ootypesystem opcodes for a particular backend | 19:00 |
| sanxiyn | dialtone: Eh, "enhancing ootypesystem to be able to specialize all of PyPy", sounds ambitious enough to me... | 19:00 |
| sanxiyn | Or am I wrong? | 19:01 |
| cfbolz | sanxiyn: anto will do parts of it | 19:01 |
| dialtone | yes | 19:01 |
| sanxiyn | Well, I'm not surprised if nobody is interested in CADR and ZMACS running on it these days. :) | 19:03 |
| sanxiyn | But I believe they had good ideas some of them still relevant today. | 19:03 |
| jiwon_ (n=jiwon@rescomp-05-80325.Stanford.EDU) left irc: Read error: 110 (Connection timed out) | 19:04 | |
| cfbolz | sanxiyn: pretty sure about that. but the problem is that you have to live with the sort of machines that you get provided by the industry, if you don't plan on entering the field of hardware design deeply | 19:04 |
| sanxiyn | True. Can't do everything in this short life. | 19:04 |
| cfbolz | yep | 19:05 |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy. | 19:05 | |
| cfbolz | pedronis: I think I have the weakref thing properly. running a translation first to see whether it breaks something, though | 19:06 |
| pedronis | nice | 19:06 |
| stakkars | how is it, using _mixin_ ? | 19:07 |
| cfbolz | yes | 19:07 |
| cfbolz | pedronis: of course it increases the number of classes quite a bit again | 19:07 |
| pedronis | ? | 19:07 |
| cfbolz | don't you now get a Weakrefable version of many classes? | 19:08 |
| cfbolz | it is done like __del__ | 19:08 |
| arigo | dialtone: translating the whole of PyPy is a scary idea, but actually if most rpython tests pass you can't be so far away | 19:08 |
| pedronis | I don't understand | 19:08 |
| pedronis | why two versions? | 19:09 |
| pedronis | unless you mean the user class for base classes that are not | 19:09 |
| dialtone | arigo: well I'm not supposed to sign a contract with my blood to complete every deliverable, am I? | 19:09 |
| pedronis | weak referancable themsef | 19:09 |
| sanxiyn | arigo: I recall "passing tests, and then go directly try PyPy" was how GenC was done. | 19:09 |
| cfbolz | pedronis: yes | 19:09 |
| arigo | dialtone: no :-) | 19:09 |
| pedronis | I'm not even sure that I care | 19:09 |
| cfbolz | me neither :-) | 19:09 |
| arigo | dialtone: I was being positive that translating PyPy is really feasible | 19:09 |
| pedronis | that a subclass of int is weakreferanceable | 19:09 |
| pedronis | while int is not | 19:09 |
| dialtone | arigo: I think so too :) | 19:10 |
| arigo | pedronis: well, programs are bound to depend on this | 19:10 |
| cfbolz | pedronis: ah, that. the problem is that for stuff like list/dict etc it is useful | 19:10 |
| cfbolz | not for ints, of course | 19:10 |
| arigo | it's all about the __weakref__ slot | 19:10 |
| pedronis | if you use a slot | 19:10 |
| pedronis | for the non base class case | 19:10 |
| pedronis | you don't need new classes | 19:11 |
| pedronis | you use the version with slots | 19:11 |
| arigo | ah, in this sense | 19:11 |
| arigo | but then we could do the same with __dict__, no ? | 19:11 |
| pedronis | different perfomance tradeoffs | 19:11 |
| pedronis | also dict was there before slots | 19:12 |
| sanxiyn | Should sleep now. Bye! | 19:12 |
| sanxiyn (n=tinuviel@222.233.187.103) left irc: "Bye" | 19:12 | |
| arigo | I see | 19:12 |
| cfbolz | it crashed. the logic is not quite correct yet :-( | 19:12 |
| pedronis | but indeed avoiding a new bunch of classes would be good | 19:13 |
| pedronis | because our vtables are so big | 19:13 |
| nikh (n=nikh@168.45.79.83.cust.bluewin.ch) joined #pypy. | 19:23 | |
| dialtone | should I send the application to google or do you prefer to read it now? | 19:25 |
| dialtone | (I mean using the google application form) | 19:26 |
| xorAxAx | dialtone: in any case, you need to submit it at google in the end. note that you need to resubmit it if you want to change things | 19:29 |
| dialtone | well sure but maybe people wanted to comment before or suggest changes | 19:29 |
| xorAxAx | exactly thats the point :) | 19:30 |
| dialtone | I think I don't understand it then :) | 19:31 |
| dialtone | the point is do submit it or do not? | 19:31 |
| arigo | yes, submit it now | 19:31 |
| xorAxAx | dialtone: i am not a mentor, i cannot give you the exact advice at this point | 19:31 |
| dialtone | ok, done | 19:32 |
| cfbolz | pedronis: I think I have found a strange corner case | 19:40 |
| cfbolz | if you derive on applevel from a class which has an interplevel __del__, and add an applevel __del__, the interplevel __del__ is never called | 19:40 |
| cfbolz | which opens a segfault possibility in pypy right now, if you do the right thing with subclassing weakref.ref | 19:41 |
| arigo | well, it's a normal Python problem | 19:42 |
| arigo | the __del__ of the W_UserXxx class hides the one from the parent | 19:42 |
| cfbolz | yes | 19:42 |
| cfbolz | I guess we still have to fix it somehow | 19:43 |
| cfbolz | but first --> dinner | 19:43 |
| arigo | ok | 19:43 |
| arigo | yes, we need somehow to call the parent __del__ if it's there, in class Proto | 19:43 |
| arigo | hasattr(cls, '__del__') should even work inside Proto.__del__ and be constant-folded | 19:45 |
| rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) left irc: "python is what you need" | 19:47 | |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy. | 20:01 | |
| cfbolz | arigo: yes, something like that | 20:03 |
| cfbolz | arigo: or you can put the hasattr around the Proto declaration | 20:04 |
| arigo | of course, but it's not needed here | 20:04 |
| cfbolz | I guess the userdel should be called first? | 20:05 |
| arigo | yes | 20:06 |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: "Valid HTML! http://validator.w3.org/ | Support ISO 8601! http://www.cl.cam.ac.uk/~mgk25/iso-time.html" | 21:03 | |
| Gromit (n=gek@codespeak.net) left irc: "Leaving" | 21:03 | |
| janb_ (n=jan@ip-85-17.travedsl.de) left irc: "Leaving" | 21:13 | |
| jiwon_ (n=jiwon@DNab408dd5.Stanford.EDU) joined #pypy. | 21:17 | |
| jiwon_ | hi all | 21:17 |
| arigo | hi! | 21:18 |
| janb_ (n=jan@ip-85-17.travedsl.de) joined #pypy. | 21:21 | |
| rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) joined #pypy. | 21:22 | |
| janb_ (n=jan@ip-85-17.travedsl.de) left irc: Remote closed the connection | 21:22 | |
| jiwon_ | is there any that I can figure out if translated sources has threading support? | 21:23 |
| jcea2 (n=jcea@jabber.hst.ru) left irc: Remote closed the connection | 21:23 | |
| jiwon_ | (only by looking at translated sources) ;; | 21:24 |
| arigo | yes | 21:27 |
| arigo | there is some way | 21:27 |
| arigo | it's possible indeed | 21:27 |
| jiwon_ | like grep some function that's specific to threaded version? | 21:27 |
| arigo | start_new_thread | 21:28 |
| arigo | typically | 21:28 |
| nikh (n=nikh@168.45.79.83.cust.bluewin.ch) left irc: "zzzz" | 21:28 | |
| jiwon_ | um, even the non-threaded version seems to have RPyTHreadStart.., and that sort of functions, right? | 21:29 |
| arigo | but not pypy_g_start_new_thread | 21:30 |
| jiwon_ | yup.. | 21:31 |
| jiwon_ | it's just that when I'm trying to link it against simulator (which implemented its own pthread library) | 21:32 |
| jiwon_ | it gave me error that it couldn't find some pthread functions that is not in the simulator | 21:32 |
| arigo | that's another question | 21:32 |
| arigo | yes, we always link against all the pthread stuff | 21:33 |
| jiwon_ | yup. | 21:33 |
| jiwon_ | but just not call them, I guess, in non-threaded version | 21:33 |
| arigo | probably not | 21:33 |
| arigo | I'm not sure about some setup functions | 21:33 |
| jcea2 (n=jcea@jabber.hst.ru) joined #pypy. | 21:34 | |
| jiwon_ | ah.. ok. | 21:34 |
| jiwon_ | that helps. | 21:34 |
| arigo | or maybe the stack checks, which might be implemented in a thread-safe way in allcases | 21:34 |
| stakkars | ha! do you need spaces? | 21:34 |
| jiwon_ | you mean there's "stack check" version? or.. | 21:35 |
| arigo | no: I mean that because of stack checks then all versions use some thread functions at run-time | 21:36 |
| arigo | stakkars: yes, please | 21:36 |
| cfbolz | spaces? | 21:36 |
| stakkars | """ """ with the best regards to my friend. I have more :-) | 21:36 |
| cfbolz | ah :-) | 21:37 |
| stakkars | allcases :-) | 21:37 |
| cfbolz | yes, got it now | 21:37 |
| stakkars | yes, they are also upper-case | 21:37 |
| cfbolz | somehow I was thinking about object spaces | 21:37 |
| jiwon_ | arigo: like.. what? ; | 21:37 |
| jiwon_ | :) | 21:37 |
| arigo | like the stack check code... let me look | 21:38 |
| stakkars | hey, that would have been a much bigger gift, of course. Thinking 'bout this | 21:38 |
| cfbolz | stakkars: that's why I was wondering :-) | 21:38 |
| arigo | jiwon_: we use thread-local storage for this | 21:38 |
| arigo | jiwon_: it's pthread_getspecific() | 21:39 |
| arigo | and setspecific | 21:39 |
| arigo | and pthread_key_create | 21:39 |
| jiwon_ | ah.. I see. thanks | 21:40 |
| cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) left irc: Remote closed the connection | 21:45 | |
| cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) joined #pypy. | 21:46 | |
| cfbolz | I always find it fascinating how I manage to press ctrl-alt-backspace by accident | 21:47 |
| xorAxAx | that would not have happnened using irssi :) | 21:47 |
| cfbolz | what does that have to do with irc client? | 21:48 |
| sabi | maybe if you were running irc in screen or something :) | 21:49 |
| sabi | or using NX :) | 21:49 |
| cfbolz | would not change the fact that most of my programs are gone | 21:49 |
| cfbolz | which is annoying | 21:49 |
| jiwon_ | what does ctrl-alt-backspace do? | 21:50 |
| cfbolz | kill X | 21:50 |
| cfbolz | aha, a windows user :-) | 21:50 |
| jiwon_ | well, now I'm using windows..but ;; | 21:51 |
| nelix | cfbolz: irssi + screen = no x no worries | 21:51 |
| nelix | try it, you'll love it | 21:51 |
| cfbolz | nonsense. I still have to restart most of my apps | 21:52 |
| cfbolz | of which IRC client is my smallest worry | 21:52 |
| xorAxAx | nelix: ACK! | 21:52 |
| sabi | cfbolz: so use NX :) | 21:54 |
| sabi | migratable/detachable X sessions are wonderful | 21:54 |
| cfbolz | that sounds actually more interesting, yes :-) | 21:55 |
| xorAxAx | (or disable that key :)) | 21:55 |
| cfbolz | xorAxAx: nope, I need it in real situations too | 21:55 |
| xorAxAx | cfbolz: you can do both :) | 21:55 |
| xorAxAx | changing the keys and using nx | 21:55 |
| cfbolz | why does python have to be so complicated? | 21:56 |
| xorAxAx | is it? | 21:56 |
| cfbolz | can you take a weakref to this class: | 21:56 |
| cfbolz | class A(object): __slots__ = "__dict__" | 21:56 |
| cfbolz | (trying it out does not count) | 21:56 |
| xorAxAx | hmm, let me guess - no? | 21:57 |
| xorAxAx | because the __dict__ is not set automatically | 21:57 |
| cfbolz | no clue whether this is the reason, but the answer is correct | 21:58 |
| xorAxAx | there can only be a weakref if, and only if, the __weakref__ attrib can be written to, nor? | 21:59 |
| cfbolz | you can never write to the __weakref__ attribute | 21:59 |
| xorAxAx | ok, assuming that you could | 21:59 |
| cfbolz | :-) | 21:59 |
| cfbolz | I guess yes | 21:59 |
| cfbolz | at least for user defined types, yes | 22:00 |
| xorAxAx | >>> foo().__weakref__ = 1 | 22:00 |
| xorAxAx | >>> | 22:00 |
| xorAxAx | works fine | 22:00 |
| cfbolz | functions are weakrefable but have no __weakref__ attribute | 22:00 |
| cfbolz | xorAxAx: oldstyle class? | 22:01 |
| xorAxAx | yes | 22:01 |
| xorAxAx | ;-) | 22:01 |
| cfbolz | see? it is complicated | 22:02 |
| nelix | eh | 22:05 |
| nelix | all of my apps run underscreen | 22:05 |
| nelix | besides firefox and groupwise | 22:05 |
| nelix | groupwise is no issue unless i am editing an email | 22:06 |
| nelix | and firefox has session recovery | 22:06 |
| xorAxAx | groupwise should run with /dev/null as an x11 socket! | 22:06 |
| nelix | yeha noshit | 22:06 |
| xorAxAx | nelix: that actually works? | 22:06 |
| nelix | but unfortunatly my employment sucks | 22:06 |
| xorAxAx | session saver always broke for me after minor updates | 22:06 |
| nelix | xorAxAx: i have some tab extention that has one, it works fune | 22:07 |
| xorAxAx | because of that, i switched to opera | 22:07 |
| cfbolz | which still does not safe you from having to reopen all your apps | 22:07 |
| cfbolz | this is not about loss of info | 22:07 |
| cfbolz | but it takes time | 22:07 |
| nelix | i use as little non free software as possible | 22:07 |
| nelix | currently thats groupwise | 22:07 |
| xorAxAx | cfbolz: man .xsession :) | 22:07 |
| xorAxAx | or autorun | 22:07 |
| cfbolz | xorAxAx: which works only if you want the same environment all the time | 22:08 |
| nelix | cfbolz: well, in my .xinitrc it starts my window manager and firefox and groupwise and terminal with my screen session | 22:08 |
| nelix | screen opens almost instantly so i am back on irc | 22:08 |
| nelix | while i wait for firefox | 22:08 |
| nelix | and i use the same xinitrc on my laptop, workstatioon and home computer | 22:08 |
| xorAxAx | cfbolz: smalltalk for desktops. | 22:09 |
| nelix | pretty much same setup everywhere | 22:09 |
| cfbolz | so you always do the same things? | 22:09 |
| nelix | groupwise, firefox, vim, irssi, htop, ntop, bitlbee, python, gcc | 22:10 |
| nelix | always at fullscreen | 22:10 |
| Action: xorAxAx is a heavy multitasker with > 10 open apps normally | 22:10 | |
| nelix | i use ratpoison and screen to mnanage them | 22:10 |
| nelix | they are all always open | 22:10 |
| nelix | so i dont have any menus or the like | 22:10 |
| nelix | just hot kets | 22:10 |
| nelix | keys* | 22:11 |
| nelix | craps i am late for work | 22:11 |
| nelix | cfbolz: good luck finding a setup that suites you, it takes a whle :P | 22:11 |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: Read error: 110 (Connection timed out) | 22:12 | |
| cfbolz | well, I have one | 22:12 |
| cfbolz | it just seems you don't believe me :-) | 22:12 |
| sabi | hehe | 22:17 |
| rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) left irc: "python is what you need" | 22:26 | |
| bea | cfbolz: ping? | 23:01 |
| cfbolz | yes? | 23:01 |
| bea | could you write 2 sentences why you think pypy-sync meetings are good and necessary? I would like to have a quote for my paper... | 23:02 |
| cfbolz | whoa, what a question at midnight | 23:02 |
| cfbolz | I can try | 23:02 |
| cfbolz | they are useful because they enable developers to discuss and clarify issues among themselves and to provide a common focus when working distributedly | 23:03 |
| cfbolz | they are also a lightweight way to syncronize activities, resolve blockers and to get an overview about who is currently doing what work. | 23:04 |
| cfbolz | feel free to reformulate | 23:04 |
| pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy. | 23:06 | |
| bea | cfbolz: thanks - I will not reformulate - I think you stated it clear and well | 23:06 |
| cfbolz | hi samuele | 23:06 |
| bea | hi samuele...stilll in japanese time ;-) | 23:08 |
| cfbolz | well, he should be asleep now, if he were | 23:08 |
| braintone | cfbolz - r26767 - remove two totally ancient test files that seems to predate py.test. I am very | 23:15 |
| cfbolz | pedronis: are you there? of just logged in? | 23:25 |
| braintone | cfbolz - r26769 - make it possible to inherit from classes that have a mixin | 23:36 |
| braintone | arigo - r26770 - (pedronis, arigo) Started support for tagged pointers. A lot of hacks, but it didn't take too long. See test_rtagged.py. | 23:36 |
| arigo | cfbolz: ah, this must have beeped on his machine, but at the moment he's behind me :-) | 23:36 |
| cfbolz | :-) | 23:36 |
| cfbolz | would you look at my checkin? | 23:36 |
| cfbolz | I think it is fine, just to make sure | 23:36 |
| arigo | ah no | 23:36 |
| arigo | it flashes without beeping :-) | 23:37 |
| cfbolz | aha :-) | 23:37 |
| arigo | ah yes, that was just a bug | 23:39 |
| cfbolz | good. maybe weakref works now | 23:40 |
| cfbolz | I also added the __weakref__ descriptor | 23:40 |
| braintone | arigo - r26771 - (pedronis, arigo) Don't specialize mixin methods too much. | 23:45 |
| cfbolz | whew, survived annotation :-) | 23:46 |
| --- Fri May 5 2006 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!