#pypy IRC log for Thursday, 2006-05-04

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
nelixi found a javascript interpreter writen in javascript04:40
nelixwhat i need is one in python so i can run javascript in javascript in python in python04:40
Smirnovisnt running javascript in python good enough?04:45
nelixsure, comment was kinda ingest, but i still think it is pretty interesting04:45
SmirnovI've seen python in javascript, hmm04:46
Smirnovah, yes, python-spidermonkey on wwwsearch.sf.net/python-spidermonkey/04:46
SmirnovI'm guessing you won't run that in python in python though since spidermonkey is in C04:47
nelixindeed, it was more for "omg so many layers" value than anything usefull04:51
Smirnovjust go ahead and write some ctypes spidermonkey hooks then :D04:56
nelixmore interesting to think about than to actualy do05:01
braintonesanxiyn - r26746 - Fix test05: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
braintonesanxiyn - r26747 - Pass dict_iter test, in a wrong way06:17
sanxiyn (n=tinuviel@211.104.100.240) joined #pypy.06:27
xorAxAxsanxiyn: why do the semicolons make JS difficult to parse? (This message has been postponed.)06:27
sanxiyn?!06:27
sanxiynAh, must be bot speaking.06:28
sanxiyn{ 1 2 } 3 is invalid JS.06:29
sanxiyn{ 106:29
sanxiyn2 } 306: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
sanxiynThe behaviour is elegantly(?) specified but I have absolutely no idea even after re-reading the spec how to get it right.06:32
sanxiynFormally,06:33
sanxiynWhen, 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
sanxiynI call it a brain damage.06:36
Smirnov (n=igor@isr6956.urh.uiuc.edu) left irc: Read error: 110 (Connection timed out)06:36
sanxiynxorAxAx: So that's my answer (to trigger the highlight)06:40
dialtonehi sanxiyn 06:54
sanxiyndialtone: hi06:55
sanxiyndialtone: Seen my "wrong" impl of dict iteration? :(06:55
dialtonelet me see how you worked on dict_iter :)06:55
dialtoneyesterday Iost my mind to that06:55
sanxiyndialtone: It's 20 lines in all...06:56
sanxiyndialtone: I heard that you're thinking about PyPy/CL SoC? That'd be cool.06:57
dialtoneyes, I'll think more about it today but I think I decided06:57
dialtoneanyway it seems you've done it well06:57
sanxiyndialtone: Well, the test passes for me with CLisp.06:57
dialtoneuhmmm06:58
sanxiynBut 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
dialtoneindeed, I tried it first but it fails here06:59
sanxiynArgh.07:01
dialtonewe really need to open the namespace and then close it at exception handlling07:01
sanxiynIf one can assume iterators aren't passed across function boundary, we can put with-* form at the beginning of function body.07:02
dialtonethere's no other portable way (except if we deal with the low-level implementation dependendant way of creating with-hash-table-iterator07:02
sanxiyndialtone: I am thinking about splitting clrepr to clrepr + clsym.07:04
sanxiyndialtone: Okay with you?07:04
sanxiynSo, let's say, x is FunctionGraph(f:test.py).07:05
sanxiynclrepr(x) produces #'f so that it can be passed around and called as (funcall #'f arg)07:05
sanxiynclsym(x) produces f so that it can be used in direct (f arg).07:05
dialtoneit's fine07:06
dialtonenow I need to leave or I'll lost my train07:06
sanxiynBye!07:06
dialtonebye :)07:07
dialtone (n=dialtone@81-208-106-65.ip.fastwebnet.it) left irc: 07:07
xorAxAxsanxiyn: i know that grammar rule07:28
xorAxAxsanxiyn: but i dont see the problem parsing it07:28
xorAxAxsanxiyn: and yes, the remark in parenthesis reminds the recipient that my client sent the message07: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
nikhmorning08:02
arreHi 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
alealehi08:32
alealearre: I succeeded in rtyping _socket. But it faiiled in malloc removal :(  08:34
arreStill, 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
alealearre: Yeah, but I dont really know what to do about it08:58
arrealeale: 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
alealearre: the tb is athttp://pastebin.de/641509:09
alealearre: at http://pastebin.de/641509: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
pedronisarigo: 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
arigoaleale: ah, another malloc removal bug09:32
arigoaleale: how can I reproduce it?09:33
braintoneale - r26752 - Fixing a test failure. Apparently you cannot ask if a ctypes pointer is  None, but bool(NullPointer) returns false09:38
alealearigo: You want a small testcase ? I havent got anything smaller than translating with _socket.09:41
arigoaleale: ah, ok, I'll try that then09:41
alealeI got a pdb session open, if there is anything I should fish for?09:42
arigoI guess I need to stare at flowgraphs a lot09:42
alealeyou saw the tb right ? in http://pastebin.de/641509:43
arigohum, it would also be really nice to have a way to pass a single mixedmodule through the translation process, at least to debug it09:43
arigoaleale: yes09:43
pedronisarigo: yes09:44
Action: arigo optimistically tries "rpython/rctypes/tool/compilemodule.py _socket"09:44
arigoah, missing support for Typedefs09:44
pedronisyep09:45
pedronisthat's the other "big" missing thing09:46
arigoaleale: I get a different crash, during rtyping09:47
arigoyou have no local changes?09:47
arigowaaa09:50
antocuni (n=chatzill@tyr.disi.unige.it) joined #pypy.09:51
cfbolz (n=carlson@fwstups.cs.uni-duesseldorf.de) joined #pypy.09:51
cfbolzhi!09:51
arigospace.wrap(r_uint(..)) fails09:51
arigohi!09:51
pedroniscfbolz: hi09:52
antocunihi09:52
pedroniscfbolz: the framework build is segfaulting since two days it seems09:52
cfbolzpedronis: yes, I've seen it. I am baffled, since I failed to reproduce it09:52
cfbolzpedronis: my own translate does not segfault :-(09:54
pedronisalso I looked at the check ins there's no obvious candidate09:55
pedronisit may be a pre-existing bug09:55
pedronisthat shows up only under some conditions09:55
pedronis:(09:55
cfbolzannoying09:56
cfbolzmaybe it is the -O3 :-)09:56
pedronisI wil try on my office machine09:57
pedronissomeone you has root access on snake my try to at least see with gdb09:57
pedroniswhere the executables crash09:57
pedronisthey should still be in eric directory09:57
arigothe flow graph of wrap__r_uint is completely strange09:57
pedronisspace.wrap of r_uint was probably never used so far09:58
arigobut why does it work for aleale then?09:58
pedronisorder issues?09:59
arigoI've no clue how the graph can be so different from order issues10:00
pedronishow does it look like?10:00
arigoas if the isinstance(x, long) case was constant-folded to False10:01
pedroniswell, r_uint become SomeInteger10:02
arigobut if I try a small test, then  isinstance(x, long)  is folded to True10:03
alealearigo: 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
arigoI see10:03
arigoyes, this hides the problem (which is real, though)10:04
pedronisthe fact is that the behavior10:04
antocuninikh: ping10:04
pedronisof isinstance(.,long)10:04
pedronisis different if the value is a constant or not10:05
arigouh10:05
arigopedronis: right10:06
pedronisI'm looking at the code in builtin.py10:06
pedronisnot saying that it is sane10:06
arigoindeed, if it's not a constant, the isinstance says False10:06
pedronisit has involved in strange ways over time10:06
pedronisalthough the problem here is more10:07
pedronisthat SomeInteger(unsigned) isinstance r_uint doesn't fold to true10:07
arigoyes, but on top of CPython all these r_xxx classes inherit from long10:08
arigoa fact which space.wrap() implicitely uses10:08
pedroniswell, but that's not rpython10:08
arre (n=ac@alchemist.strakt.com) left irc: Remote closed the connection10:15
braintonebea - r26753 - needs a summary of the working days - Nik, Samuele, Arre and the rest - please fill in..10:23
braintonearigo - 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
arigolevels of confusion10:38
arigoit seems that the bash completion is only showing a few of the pypy-c-* executables on snake10:39
arigoah oh10:39
arigoit's because the permissions are strange, only the cron job user can execute them10:39
arigowaaa10:39
cfbolzyes10:40
cfbolzit sucks10:40
arigoanyone familiar with /etc/sudoers format?10:42
cfbolzno, but it seems that its man file gives an BNF grammar for the format10:44
cfbolz:-)10:44
arigo*snake users*: anybody can now do  sudo /bin/su pypytester10:52
arigoso that anybody can go and look at the failures10:53
arigofound by the pypytester cron job10:53
cfbolzthank you10:54
cfbolzthat's wonderful10:54
cfbolzpedronis: of course the bug goes away when run in gdb10:57
arigowe just found out too10:57
cfbolz:-(10:57
Action: cfbolz --> food10:59
nikhantocuni: yes?11:03
pedroniscfbolz: we managed to get a core dump but of course there's no symbol information11:06
pedroniswe are trying to recompile and see if the segfault survive11:06
antocuninikh: about rstr; I've noticed that lltypesystem specific stuffs like STR have been left in rpython/ instead of rpython/lltypesystem11:08
antocuniis 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
nikhantocuni: no reason11:10
nikhit's all transitional. i left some stuff in strange places to not break too much other stuff at once ;)11:10
nikhof course STR should move to lltypesystem at some point11:11
stakkarsarigo: thanks for your help!11:11
antocuninikh: ok, just to know11:11
stakkarsdo we have pypy-sync at 1pm today?11:17
braintonebea - r26756 - language review11:19
arigoit would be 5pm, but it's not announced11:21
stakkarsyes, I couldn't find it. 5pm is fine.11:22
stakkarsI'd like to send out an email that asks everybody to think about sprint topics which11:22
stakkarsmake sense to have. We can't all work on the speed issues all the time, but enough to bge accepted I guess?11:24
stakkarsdo I?11:25
braintonearigo - r26757 - We now need to specialize this, for space.wrap(r_xxx()) where r_xxx can be various classes from rarithmetic.11:38
arigostakkars: did you get an answer to my mail?11:38
stakkarsan answer to what you sent to John?11:39
arigoyes11:39
arigoI didn't see any mail that suggested we would be refused to come to Iceland unless we stick to topics they like11:39
arigoonly that there was confusion about what our topics would be11: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
stakkarsthere is a communication problem. Steve thought that he communicated what we are going to do etc., but it didn't 11:40
stakkarsreach the right people.11:40
stakkarsI will send you a frightening email and my answer.11:41
stakkarsthe remaining statement is: the sprint is about speed.11:41
stakkarsI'm sitting between chairs, now, and I will either recommend the sprint ornot.11:42
arigobut you didn't get my e-mail??11:42
stakkarsoops11:42
arigoit's just that I already sent my thoughts to John in that e-mail11:43
arigoso 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 am11: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
pedronisI'm going to the office now12:07
pedroniswill be  back online from there12:07
Action: cfbolz is back12: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
cfbolzarigo: my compile from yesterday does not crash with erics cmdline12:09
arigocfbolz: on snake, we can reproduce it12:09
arigoeven with -g without -O12:10
cfbolzah, cool12:10
arigomaybe12:10
cfbolzmine is from snake too12:10
cfbolzso strange12:10
arigoindeed12:10
cfbolzespecially since it seems to happen only if you do -c and import and whatnot12:10
arigocfbolz: the code manipulates objects that are probably garbage -- at least the typeids are nonsense12:12
arigoe.g. 18158512012:13
cfbolz:-(12:13
cfbolzarigo: are you in a screen?12:14
arigoer yes12:16
pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.12:16
arigocfbolz: the screen doesn't have an easy name12:17
cfbolz:-)12:17
arigocfbolz: try  screen -x arigo/3793.pts-10.snake12:17
cfbolzI'm in12:17
xorAxAxscreen -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_re12:27
arigohi12:27
cfbolzarigo: it seems we are doing quite some collections12:28
arigonot that much12:30
cfbolzwell, I think boehm is doing far less12:30
arigoah12:31
cfbolzarigo: btw, you really reduced the number of decrefs/incref by a small amount only12:31
cfbolzso we probably really spend loads of time for pushing/popping12:32
arigo:-)12:32
xorAxAxhmm, you could count collections :)12:34
thingie65stakkars: 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
hpkmakes sense, also steve mailed me - but let's all get together at 3pm12:36
stakkars_arigo: did you hear mje? I got channel split12:37
arigostakkars_: ah, no I didn't hear you I guess12:38
Nick change: stakkars_ -> stakkars12:38
stakkarsshizophrenic stakkars: I'm one person, again.   Me too :-)12:43
Gromitstakkars, it goes: "I am shizophrenic and so I am" ;)12:50
stakkarsand so am I12:55
Gromitah, you two too12:56
stakkarsme twoo12:56
stakkarstwo to Tolouse12: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
beahi everyone!13:02
stakkarshi13:02
beahi christian - are you back home now?13:02
stakkarsyes. I'm spending all day since yesterday to save the relationship with EWT13:03
stakkarsI'm writing a summary for you13:03
beastakkars:?13:03
beastakkars: ahh - ok - I look forward to read it then13:03
cfbolzhi bea!13:15
beahi carl!13:15
antocuni (n=chatzill@tyr.disi.unige.it) left irc: "Chatzilla 0.9.72 [Firefox 1.5/2005120619]"13:16
stakkarssent.13:17
beastakkars: thanks - am reading it now13:21
stakkarsfrightening13:21
beacfbolz: is it possible to generate a pdf now - I made some language fixes and my shepherd prefers reading pdf - not txt files...:-(13:21
cfbolzyes13:22
cfbolzis half an hour ok?13:23
beacfbolz: of course !13:23
braintonearigo - 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 implemented13:29
pedronis (i=pedronis@ratthing-b246.strakt.com) joined #pypy.13:35
pedronisarigo: what was the bug?13:38
braintonearigo - r26760 - (arigo, cfbolz): add debug prints to collect. This might be annoying but gives interesting insights to how often collections happen and what gets collected13:38
cfbolzpedronis: strange code by me :-(13:38
arigogetfield or getarrayitem assuming the result didn't need a pushalive13:38
pedronisah, well that's not true in general13:41
cfbolznot at all13:41
cfbolzwe just removed the whole needs_conservative... thing13:41
rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) joined #pypy.13:42
pedroniscfbolz: it was ignoring possible setfields13:46
pedroniscfbolz, arigo: will not the print break the cron job output parsing13:49
Nick change: idnar_ -> idnar13:49
cfbolzcfbolz: ah, hum13:51
cfbolzpedronis: I meant you13:51
cfbolz:-)13:51
cfbolzit will probably13:51
pedronisare you still working on the issue? 13:52
arigono13:53
arigoI've no clue what the cron job does13:53
stakkarswhere to meat at 3pm?13:54
pedronisarigo: it uses bench-cronjob.py I think13:54
pedronisunder goal13:54
pedroniscfbolz: are you going to rewrite the push/pop optimisation in a cleaner and correct form13:55
pedronis?13:55
arigopedronis: well, sorry, I know, I meant that what this file does I have no clue13:55
pedroniswell, I just don't think that breaking the cronjob is a good idea13:55
cfbolzpedronis: yes, I agree13:56
cfbolzpedronis: but I might not care enough for the print and tend to just remove it again13:56
arigobut I don't see what parsing you refer to13:56
pedronisit uses bench-unix.py13:57
pedronisfor the benchmarking13:57
arigo(which I don't know either)13:57
stakkarsit's eric's13:57
cfbolzpedronis: ah, it will probably keep working13:58
cfbolzpedronis: it ignores lines it cannot handle13:58
arigoseems so13:59
arigosorry, I had no clue it was parsing any output13:59
pedronisyou forgot a \n in the collecting line?13:59
cfbolzno, there is another print afterwards13:59
pedronisah, is one line14:00
cfbolzyes14:00
cfbolzpedronis: as to doing a more general clean/general/correct form of the optimization: I am not sure yet how to do it14:11
cfbolzbea: what exactly do you want in your author/contact information?14:14
beacfbolz: can I add that later - I am working on other fixes and will ship again tonight14:15
cfbolzok, whatever14:15
braintonecfbolz - r26761 - fix quotes and regenerate pdf14:19
braintonearigo - 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
arigoaleale: hey, the _socket module translation I started 1 hour ago is at the compiling stage :-)15:08
cfbolzcool!15:08
alealecool15:09
alealeNow we "only" need to fix the platform issues and some IPV6 issues15:10
xorAxAxarigo: btw, have you started writing the SOC-screenscraper or was it a joke? :)15:10
arigoaleale: the result is quite broken, though :-(15:10
arigoxorAxAx: it was not a joke but I didn't start15:11
cfbolzarigo: broken in which sense?15:11
alealethat was going to be my next comment 15:11
arigohttp://pastebin.de/642015:13
cfbolzoha15:14
cfbolzwhat is gaierror?15:14
arigonot sure, it's an exception from the _socket module15:15
Gromitan error in name resolution15:15
exarkunarigo: does your module turn '' into INADDR_ANY instead of trying to resolve it as a hostname?15:15
Gromitform getaddrinfo or getnameinfo15:15
arigoI don't really know this module, it's not mine :-)15:16
exarkunah15:16
pedronisarre, aleale: can you input on this15:17
cfbolzarigo: well, but it works on top of cpython, right?15:17
arigoexarkun: I'd suspect something broken in the various level interfaces15:17
arigoexarkun: particularly when seeing the last error15:17
exarkunyea, that's not a cool address family15:18
alealeI dont think I will have time to look into it until the weekend15:19
sanxiyn (n=tinuviel@222.233.187.103) joined #pypy.15:19
cfbolzhi!15:19
arregaierror are errorcodes returned by getaddrinfo().15:19
alealeIn Japan we took the existing interpreter level implementation and converted to rctypes without looking too much at the logic15:20
arigohi Seo15:23
braintonearigo - r26763 - r_dicts don't actually need the hash of their keys, as they delegate its computation to callbacks.15:23
braintonearigo - r26764 - Forgot prebuilt r_dicts.15:26
sanxiynarigo: hi!15:28
arreWell, the un-translated _socket works fine...15:28
arigostrange... it can be rctypes bugs of course15:28
arigoarre: ah, at least s.bind(('', 1234)) fails for me in the same way15:29
arigoin "py.py --usemodules=_socket"15:29
sanxiynHeh.15:30
sanxiynFrom: Jim Hugunin <Jim.Hugunin@microsoft.com>15:30
arrearigo: Ah, I'm using s.bind(('127.0.0.1', 5151)) and that works for me.15:30
sanxiynSubject: Thanks for all your contributions to IronPython community!15:30
cfbolz:-)15:30
cfbolzsanxiyn: and it continues: "but please stop making ironpython obsolete by working on pypy"? :-)15:31
sanxiyncfbolz: Eh no.15:31
cfbolzarigo, 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
cfbolzand propagate it up15:32
sanxiynarigo: Does '' mean 0.0.0.0 in bind()?15:32
pedroniscfbolz: I fear you need something like that in rpython, to avoid getting the field everywhere15:33
Gromitsanxiyn, for AF_INET yes15:33
arigocfbolz: no I think not15:33
arigosanxiyn: I think so15:33
sanxiynarigo: And '' in connect?15:33
arigoI don't know really, I'm just using '' in bind() myself in general15:33
Gromitsanxiyn, it means the same in connect15:34
cfbolzarigo: what would you propose?15:34
arigoit probably means INADDR_ANY, which probably is '0.0.0.0'15:34
pedronisarigo: ?15:34
sanxiynGromit: Not loopback?15:34
pedroniscfbolz: the other possibilities is to use a method15:34
Gromitups15:34
pedronisto set and access the field15:34
sanxiyns.connect(('', 80)) is s.connect(('0.0.0.0', 80))? I don't think so.15:34
cfbolzpedronis: and the method stores it where?15:34
Gromitsanxiyn, you are right15:35
pedronisit stores it in the field15:35
sanxiynCurrently, in my socket for IronPython, I map empty string to .NET IPAddress.Any in bind() and IPAddress.Loopback in connect().15:35
pedronisbut beacuse the self argument15:35
pedronisis precise15:35
sanxiynThis doesn't seem to be documented.15:35
pedronisyou can control where it gets attached15:35
pedronisbut you need a way to mix the version setting the field15:35
pedronisin the right classes15:36
pedronisa fresh version15:36
cfbolzah, I see15:36
cfbolzso I have two versions, one that refuses to add the field, and one that adds it15:36
arigoin theory you can follow how dicts are added to only some W_Root subclasses15:36
pedronisarigo: yes, that what I described15:37
arigoalso because it is triggered by the '__weakref__' slot in the same way as the '__dict__' slot15:37
cfbolzah, right15:37
pedronisarigo: ah, you want to use a real slot15:37
pedronisbut then you need a way to do that for predefined15:37
pedronistypes15:37
pedronisyou need to tweak type constrution15:38
arigopedronis: it's the same for dicts15:38
arigoe.g. Function has its own dict15:38
arigobasically they should work in the same way everywhere15:39
pedronisbut it is setup in the __init__15:39
pedronisand accessed with getset15:39
arigoyes, I was proposing to do the same15:40
arigothe __init__ initialization can probably be skipped with a class attribute defaulting to None15:40
cfbolzcan you  assign to the __weakref__ attribute?15:40
pedroniswell, the internal name doesn't need to much the external one15:41
arigocfbolz: not from app-level15:41
cfbolzok15:41
arigobut to create a weakref, clearly, you need to assign to the attribute, so you need a 'setweakref' method if we follow the 'setdict' example15:41
cfbolzand setweakref would default to something that raises and can be overridden to something that stores it in an appropriate place?15:42
arigoyes, the name of the RPython attributes should not be '__weakref__', clearly :-)15:42
cfbolzsure15:42
arigocfbolz: yes15:42
arigowhile we're at it, could the same approach work to avoid the 'hash_cache' field in W_Root?15:43
cfbolzwhat I don't see yet is how I can get copies of the setting setweakref method15:43
pedronisarigo: ?15:44
pedronisdoes it get there15:44
sanxiyn (n=tinuviel@222.233.187.103) left irc: "Bye"15:44
arigopedronis: 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
pedronisI think, the plan was indeed to be more clever15:45
pedronisand disperse the implementation15:45
pedronisbasically have W_Root version be abstract15:46
pedronisnever bothered so far tough15:46
pedronisbut that's a slightly different issue because the attribute is added at the rtyper level15:47
pedronisdepending on which types15:47
pedronishash is called15:47
arigoyes15:47
pedronisI added all that code15:48
pedroniscarl: you probably need a mixin for that the setting part15:49
pedronisor some trick like that15:49
cfbolzpedronis: mixins copy the method?15:50
pedronisif they are marked properly they should yes15:50
arigopedronis: are you sure?15:50
pedronisthey did at some point15:51
pedronismaybe that was broken by the pbc refactoring15:52
cfbolzare we still using mixins somewhere?15:52
stakkarsdunno if it is related, but maybe using a similar way as I chimed my wrapper fields into instances might be useful?15:52
pedronisarigo: yes, it seems this is broken now15:53
pedronisseems only DescrOperation is using that15:55
pedronisso things would break if have different spaces15:55
pedronisused together15:55
stakkars:-X15:55
pedronis:(15:57
arigostakkars: I think the problem is at RPython level here15:57
stakkarssure, me too15:57
pedroniswe have not annotation test about _mixin_ it seems15:58
arigostakkars: then I'm not sure what you mean -- are there examples or tests somewhere?15:58
arigopedronis: bad us15:58
pedronisindeed15:58
stakkarssee rclass.py and the way extra fields are inserted, without affecting w_root15:59
pedronisI can write one if we think it should be fixed15: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
arigostakkars: what I was saying is that we're investingating ways to do it at RPython level, instead of during rtyping16:01
stakkarsaha. Now I got it16:02
arigoindeed, the hash cache is done in a similar way16:02
arigobut the problem is convincing the annotator to figure out where exactly the hash_cache field is needed16:02
arigowhich means, RPython-level tricks16:03
stakkarsand you want to move this out of the back-end-ish rtyper16:03
arigono, it's fine in the rtyper16:05
pedronisarigo: yes, a test fails16:05
arigothe problem is that right now we access the hash of W_Root with hash() somewhere at source level16:05
arigowhich forces the rtyper to put this hash_cache field on W_Root (it cannot do better anyway)16:06
arigoso we are discussing about how to fix the source16:06
stakkarsyou don't want it there cause it's mostly for certain objects16:07
stakkarsyou want to adjust the class hierarchy to do it more properly16:07
pedronisarigo: mmh, uou can always do object.__hash__(x)16:08
arigostakkars: yes, probably with mixins16:08
arigopedronis: I see, but you can also do  id(x)16:09
arigoto support permanent id's with a moving GC we need to be very careful16:09
pedroniswell, that's why identity uses hash and not id16:10
pedronisidentity_hash16:10
cfbolzI still don't know what to do about setweakref, though16:10
pedroniscfbolz: ?16:10
cfbolzshould a mixin work or not?16:10
arigopedronis: I mean at app-level16:10
arigocurrently, objspace/std/default.py is broken for a moving GC16:11
arigobecause at app-level id(x) returns the interp-level id(w_obj)16:11
pedronisyou mean id is broken16:11
arigoour current app-level id is broken, yes16:11
cfbolznot as long as we don't have moving gcs16:11
pedroniswell, we would need to do the atrocities that jython does16:11
pedronisof course I tried a lot of times16:12
pedronisto convinve python-dev16:12
pedronisto stear away16:12
pedronisfrom being id happy16:12
pedroniscopy.py is a main offender in that sense16:12
pedronisbecause it doesn't encapsulate its use of id16:13
arigoI 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 problem16:13
stakkarsmaybe redefining id to be a true id of an object, not just the random address16:13
pedroniswell, and I answer16:13
arigofor now we could just use w_obj.identity_hash() in our implementation of __builtin__.id()16:13
pedronisthat object.__hash__ != id16:13
xorAxAxnobody guarantees that id() returns an address16:14
pedronisfor example it is in jython16:14
pedronisbecause it would be insane to have the default hash16:14
pedronisgoing to the atrocities that id needs to go trough on a moving gc16:14
arigoI see16:14
arigobut doing object.__hash__(42) is insane16:16
pedroniswell, that's a different matter16:16
pedronisbut then we should raise an exception16:16
pedronisif one tries16:16
arigoif we go for the overridden identity_hash() methods, then object.__hash__(42) would call the base W_Root.identity_hash()16:17
arigowhich can then complain16:17
pedronisyes16:20
pedronisI wrote a test16:20
pedronisand maybe fixed16:20
pedronis_mixin_16:20
cfbolzcool16:21
cfbolzthank you16:21
braintonepedronis - r26765 - test and fix about _mixin_16:26
Action: cfbolz is going home16:33
cfbolzsee you later!16:33
pedronissee you16:33
pedronisarigo: arre seems to have found the _socket problem16:33
cfbolz (n=carlson@fwstups.cs.uni-duesseldorf.de) left irc: "bye"16:33
arreIt's about the sockaddr.sa_family field being an unsigned short but being translated into an unsigned long.16:34
arigoargh16:36
pedronisargh indeed16:38
pedronisarigo: we need to support more primitive data types16:45
mickg10_ (n=mickg10@ool-44c32d6c.dyn.optonline.net) left #pypy.16:50
arreEnough for today, see You tomorrow!16:53
arre (n=ac@alchemist.strakt.com) left irc: Remote closed the connection16:54
rhymesarigo: 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
stakkarspedronis: do I cc to Steve?17:02
pedronisstakkars: wrong channel17:02
pjd (n=pjd@dsl-165-238-134.telkomadsl.co.za) joined #pypy.17:05
pjdanyone here familiar with PyThreadState in CPython?17:05
stakkarsyeah!17:06
stakkarsbut don't discuss it here :-)17:06
pjdspecifically, under what conditions PyThreadState->f_back could end up NULL17:06
pjdstakkars: i've gotten no response from the more canonical channels :(17:07
stakkarsthis does not exist   -- ok17:07
stakkarsyou 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
dialtoneuhmmm17:31
dialtonearigo: where can I find a template for a proposal?17:31
dialtoneor some examples17:31
auc (n=auc@logilab.net2.nerim.net) left irc: "Parti"17:32
Action: arigo is kind of away17:32
dialtoneok, 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
rhymesdialtone: http://groups.google.com/group/Summer-Discuss-2006/browse_thread/thread/c6234ee0db794344/66d8aeddf226bd75?q=template&rnum=1#66d8aeddf226bd7517:45
arigorhymes: oh, I thought it was two months... wasn't it two months last year?17:46
stakkarsthe thing above is a generator bug that was fixed at some point17:46
rhymesarigo: from 22th of may to 21th of august AFAIK17:46
arigoindeed17:46
stakkarsa wrong assert that I just exercized myself to find, again17:47
rhymesarigo: 2weeks per module it seems good to me17:49
arigoit all depends on the module17:51
arigo2-3 weeks sounds good for simple modules17:51
arigowell, 2 weeks exactly I mean17:51
rhymesi divided the timeline. 2 weeks per module. 2 module before the mid term evaluation. 3 after that.17:52
arigomid-term being after 1 month and not in the middle, confusingly... yes, it sounds reasonable17:53
rhymes:)17:54
rhymesarigo: 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
arigodirectly to the google form17:59
arigowe can read it there and comment on it17:59
pjd (n=pjd@dsl-165-238-134.telkomadsl.co.za) left irc: 18:18
beaarigo: can I ask you a weird question?18:20
dialtoneuhmmm18:24
sanxiyn (n=tinuviel@222.233.187.103) joined #pypy.18:24
dialtoneInterestingly I don't have an idea of the deliverables and the timeline for the cl backend plus backend specific features18:24
dialtonebesides the obvious :)18:24
dialtonehi sanxiyn 18:25
sanxiyndialtone: I am also thinking about that.18:25
dialtoneare you also applying?18:25
sanxiynIt would be very nice to have middle-sized (defined as between rpystone and pypy) RPython program.18:25
sanxiyndialtone: No.18:25
sanxiyn(I meant, also thinking about possible "deliverable".)18:26
dialtonewell there are of course 2 deliverables, the common lisp backend and the backend specific features :)18:26
dialtoneI'd divide the 2 into: compile rpython + backend specific features18:27
dialtoneand compile pypy18:27
cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) joined #pypy.18:27
sanxiyndialtone: 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
dialtoneerr compile rpystone18:27
sanxiyn(Well, as long as we follow the spec, there's not much to do to support different CLs.)18:28
sanxiynBy the way, off topic, English question.18:28
dialtonewell not really :)18:28
dialtonethe spec is sometime deliberately free18:28
sanxiynText on this page is supposed to be funny. Is it?18:28
sanxiynhttp://sparcs.kaist.ac.kr/~tinuviel/fepy/ironcherry/18:28
cfbolzfairly funny, but only to python insiders18:30
sanxiyncfbolz: Eh, that website was Google #1 for "ironcherry"...18:30
cfbolzI guessed so18:31
sanxiynAnyway, this is a patchset to run CherryPy on IronPython. It runs.18:31
sabisanxiyn: that's all you need to get cherrypy to run on ironpython, or something?18:31
sabiah, nice.18:31
sanxiynsabi: Exactly.18:31
sanxiynsabi: 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 ironpython18:32
sanxiynsabi: Are you working on cross-language thing or such?18:32
xorAxAxhmm, ironpython would make it scale on multiple cpus18:33
sanxiynxorAxAx: No idea about that...18:33
sabisanxiyn: perhaps.18:34
xorAxAxsanxiyn: IP doesnt have a GIL, does it? :)18:34
sanxiynxorAxAx: I guess not. It uses .NET thread.18:34
sabino, no GIL and last i checked, no locks on individual data structures like jython18:34
sabiso i dunno what happens if e.g. you try to modify a python dictionary on two threads18:34
Action: xorAxAx tries18:35
sanxiynsabi: By the way, it's quite annoying to debug if problems usually come from equality comparison, function call, or inside regular expression.18:37
sanxiynRunning random X on IronPython usually means finding bugs in the place you least expect them.18:37
cfbolz:-)18:38
xorAxAxhmm, i think i need a vs 2005 vm18:38
sabisanxiyn: heh18:38
xorAxAxmvl and ip is kinda orthogonal :)18:38
xorAxAx(he decided to choose vs 2003 for 2.5)18:38
sanxiynsabi: This is an extreme example.18:39
sanxiynsabi: http://lists.ironpython.com/pipermail/users-ironpython.com/2006-April/002227.html18:39
sabisanxiyn: haha.18:39
sanxiynTook a *lot* of time to reduce.18:39
cfbolzwhat was it?18:39
sanxiynI won't tell you :(18:40
sanxiynIf the thing crashes, it's easier.18:40
stakkarssabi: 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 languages18:40
sanxiynCrashing example:18:40
sanxiynhttp://lists.ironpython.com/pipermail/users-ironpython.com/2006-May/002229.html18:40
Action: sabi just spent 2 days on a bug that required about 20 character fix18:41
cfbolzin what?18:41
sabioh well, it's done now :)18:41
sabitransaction machinery was crashing on 4 simultaneous pystone things18:42
sabiturned out it was the code that was checking if the threads were finished :)18:42
xorAxAxsabi: re that IP choice - hacking the .net vm / mono might be more  difficult, right?18:42
sanxiyncfbolz: None dictionary key one is from dnspython.18:42
sanxiyncfbolz: Ah I remember. Regex one is from nntplib.18:42
cfbolznntplib?18:42
cfbolzwhat the heck?18:42
sabixorAxAx: certainly, yeah18:42
sanxiyncfbolz: Read the source for details.18:42
sanxiyncfbolz: Search for "def descriptions"18:43
cfbolzarigo: I knew you would like the roundup cmdline interface/library thing :-)18:43
sabianyway, thanks. i'll just need to think really hard, gotta talk to my advisor about this tomorrow18:43
sanxiynThis gem is from httplib: http://lists.ironpython.com/pipermail/users-ironpython.com/2006-April/002116.html18:44
sanxiyn(Contrary to what you would think, such comparison is quite rare.)18:44
cfbolzsabi: is he proposing to switch to ironpython?18:44
sanxiynhttp://lists.ironpython.com/pipermail/users-ironpython.com/2006-May/002241.html is entirely IronPython team's mistake.18:46
sabicfbolz: well, more like i need to figure out why i'm not using it18:46
sanxiynsabi: Hm, what are you researching...?18:46
xorAxAxsabi: it doesnt crash :)18:46
sabisanxiyn: hardware support for dynamic languages, in general18:46
sabii can see some justifications for why you would not want to use a heavyweight runtime like .NET18:47
sanxiynsabi: Oh.18:47
sabibut they mostly revolve around compatibility with existing code18:47
cfbolzsabi: 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 general18:48
sanxiynsabi: Is it something like ARM Jazelle?18:48
cfbolzsabi: 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 argument18:48
sabisanxiyn: huh, never seen that. cool.18:48
sanxiynsabi: Huh? Well, google it.18:48
sabisanxiyn: yeah, i did. i wasn't planning on doing things that were specific to a particular bytecode format18:49
sanxiynI see...18:50
sanxiynIs it like Lisp Machine?18:50
sabinot sure yet :) i was kinda hoping the JIT would have been further along by now so i'd have had some more concrete targets18:51
cfbolz:-(18:51
sanxiyn(LispM reportedly had hardware support for value type check, garbage collection and function call.)18:52
cfbolzmy life would be so much easier if there was hardware support for gc :-)18:52
sabiheh. i guess GC would not be a bad thing to look at18:53
sanxiynhttp://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
xorAxAxyep, and "super mini" != pc :)18:55
xorAxAxso nobody would have used for emacs etc.18:55
cfbolzwe could have a gc accelerator chip. if there are physics accelerators, why not for gc?18:55
sanxiyncfbolz: CADR had it as early as 1979.18:56
sanxiynSo I heard.18:56
cfbolzsanxiyn: I am talking for todays pcs18:56
cfbolzand am not being totally serious18:56
cfbolzwa18:56
cfbolzthat wasn't proper english18:56
sanxiynhttp://www.unlambda.com/cadr/18:57
sanxiynI am still planning to have a look at this site when I ran out of interesting projects to do. :)18:58
sanxiynSome archivists found complete source code of MIT CADR Lisp Machine in some tape drives and restored it.18:59
dialtonewhat do you think of these 4 deliverables:18:59
sanxiynAnd from the CADR specification (it was machine designer's thesis) somebody wrote a emulator, and these codes started to run on it.18:59
dialtoneTranslating rpystone18:59
dialtoneTranslating PyPy18:59
sanxiyndialtone: Oh.18:59
dialtoneCL code running at least on OpenMCL, sbcl and clisp19:00
dialtoneBeing able to specialize the ootypesystem opcodes for a particular backend19:00
sanxiyndialtone: Eh, "enhancing ootypesystem to be able to specialize all of PyPy", sounds ambitious enough to me...19:00
sanxiynOr am I wrong?19:01
cfbolzsanxiyn: anto will do parts of it19:01
dialtoneyes19:01
sanxiynWell, I'm not surprised if nobody is interested in CADR and ZMACS running on it these days. :)19:03
sanxiynBut 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
cfbolzsanxiyn: 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 deeply19:04
sanxiynTrue. Can't do everything in this short life.19:04
cfbolzyep19:05
pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.19:05
cfbolzpedronis: I think I have the weakref thing properly. running a translation first to see whether it breaks something, though19:06
pedronisnice19:06
stakkarshow is it, using _mixin_ ?19:07
cfbolzyes19:07
cfbolzpedronis: of course it increases the number of classes quite a bit again19:07
pedronis?19:07
cfbolzdon't you now get a Weakrefable version of many classes?19:08
cfbolzit is done like __del__19:08
arigodialtone: translating the whole of PyPy is a scary idea, but actually if most rpython tests pass you can't be so far away19:08
pedronisI don't understand19:08
pedroniswhy two versions?19:09
pedronisunless you mean the user class for base classes that are not19:09
dialtonearigo: well I'm not supposed to sign a contract with my blood to complete every deliverable, am I?19:09
pedronisweak referancable themsef19:09
sanxiynarigo: I recall "passing tests, and then go directly try PyPy" was how GenC was done.19:09
cfbolzpedronis: yes19:09
arigodialtone: no :-)19:09
pedronisI'm not even sure that I care19:09
cfbolzme neither :-)19:09
arigodialtone: I was being positive that translating PyPy is really feasible19:09
pedronisthat a subclass of int is weakreferanceable19:09
pedroniswhile int is not19:09
dialtonearigo: I think so too :)19:10
arigopedronis: well, programs are bound to depend on this19:10
cfbolzpedronis: ah, that. the problem is that for stuff like list/dict etc it is useful19:10
cfbolznot for ints, of course19:10
arigoit's all about the __weakref__ slot19:10
pedronisif you use a slot19:10
pedronisfor the non base class case19:10
pedronisyou don't need new classes19:11
pedronisyou use the version with slots19:11
arigoah, in this sense19:11
arigobut then we could do the same with __dict__, no ?19:11
pedronisdifferent perfomance tradeoffs19:11
pedronisalso dict was there before slots19:12
sanxiynShould sleep now. Bye!19:12
sanxiyn (n=tinuviel@222.233.187.103) left irc: "Bye"19:12
arigoI see19:12
cfbolzit crashed. the logic is not quite correct yet :-(19:12
pedronisbut indeed avoiding a new bunch of classes would be good19:13
pedronisbecause our vtables are so big19:13
nikh (n=nikh@168.45.79.83.cust.bluewin.ch) joined #pypy.19:23
dialtoneshould 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
xorAxAxdialtone: 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 things19:29
dialtonewell sure but maybe people wanted to comment before or suggest changes19:29
xorAxAxexactly thats the point :)19:30
dialtoneI think I don't understand it then :)19:31
dialtonethe point is do submit it or do not?19:31
arigoyes, submit it now19:31
xorAxAxdialtone: i am not a mentor, i cannot give you the exact advice at this point19:31
dialtoneok, done19:32
cfbolzpedronis: I think I have found a strange corner case19:40
cfbolzif you derive on applevel from a class which has an interplevel __del__, and add an applevel __del__, the interplevel __del__ is never called19:40
cfbolzwhich opens a segfault possibility in pypy right now, if you do the right thing with subclassing weakref.ref19:41
arigowell, it's a normal Python problem19:42
arigothe __del__ of the W_UserXxx class hides the one from the parent19:42
cfbolzyes19:42
cfbolzI guess we still have to fix it somehow19:43
cfbolzbut first --> dinner19:43
arigook19:43
arigoyes, we need somehow to call the parent __del__ if it's there, in class Proto19:43
arigohasattr(cls, '__del__') should even work inside Proto.__del__ and be constant-folded19: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
cfbolzarigo: yes, something like that20:03
cfbolzarigo: or you can put the hasattr around the Proto declaration20:04
arigoof course, but it's not needed here20:04
cfbolzI guess the userdel should be called first?20:05
arigoyes20: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 all21:17
arigohi!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 connection21: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 connection21:23
jiwon_(only by looking at translated sources) ;;21:24
arigoyes21:27
arigothere is some way21:27
arigoit's possible indeed21:27
jiwon_like grep some function that's specific to threaded version?21:27
arigostart_new_thread21:28
arigotypically21: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
arigobut not pypy_g_start_new_thread21: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 simulator21:32
arigothat's another question21:32
arigoyes, we always link against all the pthread stuff21:33
jiwon_yup.21:33
jiwon_but just not call them, I guess, in non-threaded version21:33
arigoprobably not21:33
arigoI'm not sure about some setup functions21:33
jcea2 (n=jcea@jabber.hst.ru) joined #pypy.21:34
jiwon_ah.. ok.21:34
jiwon_that helps.21:34
arigoor maybe the stack checks, which might be implemented in a thread-safe way in allcases21:34
stakkarsha! do you need spaces?21:34
jiwon_you mean there's "stack check" version? or..21:35
arigono: I mean that because of stack checks then all versions use some thread functions at run-time21:36
arigostakkars: yes, please21:36
cfbolzspaces?21:36
stakkars"""                                                                        """ with the best regards to my friend. I have more :-)21:36
cfbolzah :-)21:37
stakkarsallcases :-)21:37
cfbolzyes, got it now21:37
stakkarsyes, they are also upper-case21:37
cfbolzsomehow I was thinking about object spaces21:37
jiwon_arigo: like.. what? ;21:37
jiwon_:)21:37
arigolike the stack check code... let me look21:38
stakkarshey, that would have been a much bigger gift, of course. Thinking 'bout this21:38
cfbolzstakkars: that's why I was wondering :-)21:38
arigojiwon_: we use thread-local storage for this21:38
arigojiwon_: it's pthread_getspecific()21:39
arigoand setspecific21:39
arigoand pthread_key_create21:39
jiwon_ah.. I see. thanks21:40
cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) left irc: Remote closed the connection21:45
cfbolz (n=carlson@p508D20CB.dip0.t-ipconnect.de) joined #pypy.21:46
cfbolzI always find it fascinating how I manage to press ctrl-alt-backspace by accident21:47
xorAxAxthat would not have happnened using irssi :)21:47
cfbolzwhat does that have to do with irc client?21:48
sabimaybe if you were running irc in screen or something :)21:49
sabior using NX :)21:49
cfbolzwould not change the fact that most of my programs are gone21:49
cfbolzwhich is annoying21:49
jiwon_what does ctrl-alt-backspace do?21:50
cfbolzkill X21:50
cfbolzaha, a windows user :-)21:50
jiwon_well, now I'm using windows..but ;;21:51
nelixcfbolz: irssi + screen = no x no worries21:51
nelixtry it, you'll love it21:51
cfbolznonsense. I still have to restart most of my apps21:52
cfbolzof which IRC client is my smallest worry21:52
xorAxAxnelix: ACK!21:52
sabicfbolz: so use NX :)21:54
sabimigratable/detachable X sessions are wonderful21:54
cfbolzthat sounds actually more interesting, yes :-)21:55
xorAxAx(or disable that key :))21:55
cfbolzxorAxAx: nope, I need it in real situations too21:55
xorAxAxcfbolz: you can do both :)21:55
xorAxAxchanging the keys and using nx21:55
cfbolzwhy does python have to be so complicated?21:56
xorAxAxis it?21:56
cfbolzcan you take a weakref to this class:21:56
cfbolzclass A(object): __slots__ = "__dict__"21:56
cfbolz(trying it out does not count)21:56
xorAxAxhmm, let me guess - no?21:57
xorAxAxbecause the __dict__ is not set automatically21:57
cfbolzno clue whether this is the reason, but the answer is correct21:58
xorAxAxthere can only be a weakref if, and only if, the __weakref__ attrib can be written to, nor?21:59
cfbolzyou can never write to the __weakref__ attribute21:59
xorAxAxok, assuming that you could21:59
cfbolz:-)21:59
cfbolzI guess yes21:59
cfbolzat least for user defined types, yes22:00
xorAxAx>>> foo().__weakref__ = 122:00
xorAxAx>>>22:00
xorAxAxworks fine22:00
cfbolzfunctions are weakrefable but have no __weakref__ attribute22:00
cfbolzxorAxAx: oldstyle class?22:01
xorAxAxyes22:01
xorAxAx;-)22:01
cfbolzsee? it is complicated22:02
nelixeh22:05
nelixall of my apps run underscreen22:05
nelixbesides firefox and groupwise22:05
nelixgroupwise is no issue unless i am editing an email22:06
nelixand firefox has session recovery22:06
xorAxAxgroupwise should run with /dev/null as an x11 socket!22:06
nelixyeha noshit22:06
xorAxAxnelix: that actually works?22:06
nelixbut unfortunatly my employment sucks22:06
xorAxAxsession saver always broke for me after minor updates22:06
nelixxorAxAx: i have some tab extention that has one, it works fune22:07
xorAxAxbecause of that, i switched to opera22:07
cfbolzwhich still does not safe you from having to reopen all your apps22:07
cfbolzthis is not about loss of info22:07
cfbolzbut it takes time22:07
nelixi use as little non free software as possible22:07
nelixcurrently thats groupwise22:07
xorAxAxcfbolz: man .xsession :)22:07
xorAxAxor autorun22:07
cfbolzxorAxAx: which works only if you want the same environment all the time22:08
nelixcfbolz: well, in my .xinitrc it starts my window manager and firefox and groupwise and terminal with my screen session22:08
nelixscreen opens almost instantly so i am back on irc22:08
nelixwhile i wait for firefox22:08
nelixand i use the same xinitrc on my laptop, workstatioon and home computer22:08
xorAxAxcfbolz: smalltalk for desktops.22:09
nelixpretty much same setup everywhere22:09
cfbolzso you always do the same things?22:09
nelixgroupwise, firefox, vim, irssi, htop, ntop, bitlbee, python, gcc22:10
nelixalways at fullscreen22:10
Action: xorAxAx is a heavy multitasker with > 10 open apps normally22:10
nelixi use ratpoison and screen to mnanage them22:10
nelixthey are all always open22:10
nelixso i dont have any menus or the like22:10
nelixjust hot kets22:10
nelixkeys*22:11
nelixcraps i am late for work22:11
nelixcfbolz: good luck finding a setup that suites you, it takes a whle :P22:11
pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: Read error: 110 (Connection timed out)22:12
cfbolzwell, I have one22:12
cfbolzit just seems you don't believe me :-)22:12
sabihehe22:17
rhymes (n=rhymes@host231-15.pool8248.interbusiness.it) left irc: "python is what you need"22:26
beacfbolz: ping?23:01
cfbolzyes?23:01
beacould 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
cfbolzwhoa, what a question at midnight23:02
cfbolzI can try23:02
cfbolzthey are useful because they enable developers to discuss and clarify issues among themselves and to provide a common focus when working distributedly23:03
cfbolzthey are also a lightweight way to syncronize activities, resolve blockers and to get an overview about who is currently doing what work.23:04
cfbolzfeel free to reformulate23:04
pedronis (n=Samuele_@c-1f8b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.23:06
beacfbolz: thanks - I will not reformulate - I think you stated it clear and well23:06
cfbolzhi samuele23:06
beahi samuele...stilll in japanese time ;-)23:08
cfbolzwell, he should be asleep now, if he were23:08
braintonecfbolz - r26767 - remove two totally ancient test files that seems to predate py.test. I am very23:15
cfbolzpedronis: are you there? of just logged in?23:25
braintonecfbolz - r26769 - make it possible to inherit from classes that have a mixin23:36
braintonearigo - 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
arigocfbolz: ah, this must have beeped on his machine, but at the moment he's behind me :-)23:36
cfbolz:-)23:36
cfbolzwould you look at my checkin?23:36
cfbolzI think it is fine, just to make sure23:36
arigoah no23:36
arigoit flashes without beeping  :-)23:37
cfbolzaha :-)23:37
arigoah yes, that was just a bug23:39
cfbolzgood. maybe weakref works now23:40
cfbolzI also added the __weakref__ descriptor23:40
braintonearigo - r26771 - (pedronis, arigo) Don't specialize mixin methods too much.23:45
cfbolzwhew, survived annotation :-)23:46
--- Fri May 5 200600:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!