| fiddlerwoaroof | how difficult would it be to implement? | 00:03 |
|---|---|---|
| cfbolz | first you would need to figure out sane semantics | 00:03 |
| fiddlerwoaroof | assuming that | 00:04 |
| cfbolz | PyPy's parser is a mess, so probably not very easy | 00:04 |
| antocuni | xorAxAx: bah, I prefer my music :-) | 00:09 |
| cfbolz | antocuni: feel like making a blog post about this? | 00:11 |
| antocuni | cfbolz: sure, but I want to post the one with my music, if I manage to upload it :-) | 00:11 |
| cfbolz | antocuni: your music isn't under a creative-commons license though :-) | 00:13 |
| antocuni | ah | 00:13 |
| antocuni | not sure it's a problem | 00:14 |
| antocuni | but maybe yes | 00:14 |
| Action: antocuni --> bed | 00:15 | |
| antocuni | gn | 00:15 |
| antocuni (n=antocuni@host252-123-dynamic.6-79-r.retail.telecomitalia.it) left irc: "Leaving" | 00:15 | |
| mgod (n=mgod@c-68-40-196-78.hsd1.mi.comcast.net) joined #pypy. | 00:19 | |
| mgod (n=mgod@c-68-40-196-78.hsd1.mi.comcast.net) left irc: Client Quit | 00:24 | |
| fiddlerwoaroof (i=80f960fd@gateway/web/ajax/mibbit.com/x-224a317d7065e428) left irc: "http://www.mibbit.com ajax IRC Client" | 00:27 | |
| radix | is pypy a music generation application now? is there a MIDI backend? | 00:35 |
| exarkun | does it use alsa, or pulseaudio? | 00:38 |
| exarkun | because pulseaudio is better, you guys should switch. | 00:38 |
| mwhudson | exarkun: is that even a valid disjunction? | 00:38 |
| exarkun | mwhudson: Since when did logic and reality bear any resemblance to each other | 00:39 |
| mgod (n=mgod@c-68-40-196-78.hsd1.mi.comcast.net) joined #pypy. | 00:42 | |
| arianepaola (n=ariane@unaffiliated/arianepaola) joined #pypy. | 00:45 | |
| mgod (n=mgod@c-68-40-196-78.hsd1.mi.comcast.net) left irc: | 00:58 | |
| mwhudson (n=mwh@203-114-189-104.cafenet.dyn.inspire.net.nz) left irc: Read error: 110 (Connection timed out) | 00:58 | |
| fzzzy (n=donovan@office.mochimedia.net) left irc: | 01:08 | |
| headius (n=headius@218.45.193.1) left irc: | 01:14 | |
| derfel (n=derfel@host123-73-dynamic.11-79-r.retail.telecomitalia.it) joined #pypy. | 01:18 | |
| grubber (n=grubber@64.149.120.234) joined #pypy. | 01:25 | |
| cfbolz (n=cfbolz@p4FDA92A9.dip0.t-ipconnect.de) left irc: "Leaving" | 01:26 | |
| mwhudson (n=mwh@203-114-189-104.cafenet.dyn.inspire.net.nz) joined #pypy. | 01:41 | |
| joe_mp__ (n=joe@p549C5E14.dip.t-dialin.net) left irc: Read error: 110 (Connection timed out) | 01:57 | |
| dialtone (n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net) left irc: Read error: 110 (Connection timed out) | 02:38 | |
| pjenvey_ (n=pjenvey@70.141.217.36) left irc: | 02:48 | |
| pjenvey_ (n=pjenvey@astound-69-42-4-166.ca.astound.net) joined #pypy. | 03:09 | |
| headius (n=headius@192.18.200.212) joined #pypy. | 03:26 | |
| zx225 (i=joel@eschatolo.gy) joined #pypy. | 03:44 | |
| headius (n=headius@192.18.200.212) left irc: | 03:49 | |
| grubber (n=grubber@64.149.120.234) left irc: | 03:56 | |
| fzzzy (n=donovan@c-71-198-81-84.hsd1.ca.comcast.net) joined #pypy. | 03:59 | |
| zx225 (i=joel@eschatolo.gy) left irc: "leaving" | 03:59 | |
| tav (n=tav@82.152.200.55) left irc: | 04:01 | |
| s4msung (n=s4msung@p4FDDB9E7.dip0.t-ipconnect.de) joined #pypy. | 04:08 | |
| smokey_ (n=smokey@p549A1697.dip0.t-ipconnect.de) joined #pypy. | 04:15 | |
| fzzzy (n=donovan@c-71-198-81-84.hsd1.ca.comcast.net) left irc: | 04:26 | |
| grubber (n=grubber@64.149.120.234) joined #pypy. | 04:26 | |
| smokey__ (n=smokey@p549A169E.dip0.t-ipconnect.de) left irc: Read error: 110 (Connection timed out) | 04:31 | |
| carrus85 (n=carrus85@216.83.145.38) left irc: "Leaving" | 04:37 | |
| carrus85 (n=carrus85@216.83.145.38) joined #pypy. | 04:42 | |
| s4msung (n=s4msung@p4FDDB9E7.dip0.t-ipconnect.de) left irc: Read error: 110 (Connection timed out) | 04:43 | |
| fzzzy (n=donovan@c-71-198-81-84.hsd1.ca.comcast.net) joined #pypy. | 04:43 | |
| s4msung (n=s4msung@p4FDDB9E7.dip0.t-ipconnect.de) joined #pypy. | 04:46 | |
| grubber (n=grubber@64.149.120.234) left irc: | 04:52 | |
| dialtone (n=dialtone@adsl-75-6-226-104.dsl.pltn13.sbcglobal.net) joined #pypy. | 05:01 | |
| headius (n=headius@218.45.193.1) joined #pypy. | 05:24 | |
| Rhamphoryncus_ (n=rhamph@S010600146c3c91a1.ed.shawcable.net) joined #pypy. | 05:25 | |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: Read error: 104 (Connection reset by peer) | 05:26 | |
| Nick change: Rhamphoryncus_ -> Rhamphoryncus | 05:27 | |
| fijal (n=fijal@c-76-25-206-12.hsd1.co.comcast.net) left irc: Remote closed the connection | 05:36 | |
| fijal (n=fijal@c-76-25-206-12.hsd1.co.comcast.net) joined #pypy. | 05:37 | |
| CIA-3 | 03fijal * r56106 10pypy/pypy/interpreter/module.py: Don't explode when __file__ is missing or bogus | 05:48 |
| headius (n=headius@218.45.193.1) left irc: | 06:03 | |
| fdr- (n=fdr@76-191-216-242.dsl.dynamic.sonic.net) joined #pypy. | 06:13 | |
| panni_ (i=hannes@ip-88-152-22-213.hsi.ish.de) left irc: "( www.nnscript.de :: NoNameScript 3.81 :: www.XLhost.de )" | 06:39 | |
| hpk (n=chatzill@p549F4CFE.dip.t-dialin.net) joined #pypy. | 06:40 | |
| mwhudson (n=mwh@203-114-189-104.cafenet.dyn.inspire.net.nz) left irc: "Leaving" | 06:53 | |
| fdr- (n=fdr@76-191-216-242.dsl.dynamic.sonic.net) left irc: Remote closed the connection | 07:11 | |
| carrus85 (n=carrus85@216.83.145.38) left irc: Success | 07:17 | |
| fijal (n=fijal@c-76-25-206-12.hsd1.co.comcast.net) left irc: "off" | 07:29 | |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) left irc: | 07:31 | |
| fzzzy (n=donovan@c-71-198-81-84.hsd1.ca.comcast.net) left irc: | 07:59 | |
| joe_mp (n=joe@p549C6802.dip.t-dialin.net) joined #pypy. | 08:02 | |
| xorAxAx | yes, the license issue is one aspect :) | 08:24 |
| antocuni (n=antocuni@host88-126-dynamic.25-79-r.retail.telecomitalia.it) joined #pypy. | 08:25 | |
| dialtone (n=dialtone@adsl-75-6-226-104.dsl.pltn13.sbcglobal.net) left irc: Remote closed the connection | 08:37 | |
| dialtone (n=dialtone@adsl-75-6-226-104.dsl.pltn13.sbcglobal.net) joined #pypy. | 08:38 | |
| mq (n=mq@quittenbrod.de) left irc: Remote closed the connection | 08:38 | |
| stargaming (n=starGami@unaffiliated/stargaming) left irc: Read error: 110 (Connection timed out) | 08:50 | |
| stargaming (i=starGami@ircmafia.de) joined #pypy. | 08:51 | |
| mq (n=mq@quittenbrod.de) joined #pypy. | 09:02 | |
| mq (n=mq@quittenbrod.de) left irc: Remote closed the connection | 09:10 | |
| mq (n=mq@quittenbrod.de) joined #pypy. | 09:11 | |
| AntonK (n=asl@asl.dorms.spbu.ru) joined #pypy. | 09:28 | |
| pjenvey_ (n=pjenvey@astound-69-42-4-166.ca.astound.net) left irc: | 09:33 | |
| verte (n=verte@121.219.103.81) joined #pypy. | 09:44 | |
| headius (n=headius@p4090-ipbf1302marunouchi.tokyo.ocn.ne.jp) joined #pypy. | 10:15 | |
| headius_ (n=headius@p4090-ipbf1302marunouchi.tokyo.ocn.ne.jp) joined #pypy. | 10:18 | |
| headius (n=headius@p4090-ipbf1302marunouchi.tokyo.ocn.ne.jp) left irc: Connection reset by peer | 10:19 | |
| hpk | antocuni: somehow, i think that using the realnames instead of the nicknames would make more sense for a general audience :) | 10:23 |
| antocuni | hpk: uh? | 10:23 |
| hpk | hum? | 10:24 |
| hpk | last time i checked the account names were used | 10:24 |
| hpk | with tthe codeswarm video | 10:24 |
| antocuni | ah! | 10:24 |
| antocuni | I missed that piece :-) | 10:24 |
| hpk | sorry ;) | 10:24 |
| antocuni | yes, it uses nicknames | 10:25 |
| xorAxAx | hmm, would be pretty garbled given the usual length | 10:25 |
| hpk | true as well | 10:25 |
| antocuni | I think it would be possible to modify it, but I'm sure I don't feel like :-) | 10:25 |
| xorAxAx | antocuni: in which language was it written? | 10:25 |
| hpk | antocuni: don't bother. | 10:25 |
| elmom (n=elmom@hoasnet-fe10dd00-97.dhcp.inet.fi) joined #pypy. | 10:25 | |
| Action: hpk continues clearing his flat | 10:25 | |
| antocuni | it looks like java, I'm not sure if it's java or just similar; it needs the processing.org IDE to execute | 10:26 |
| cfbolz (n=cfbolz@p4FDA9A9E.dip0.t-ipconnect.de) joined #pypy. | 10:30 | |
| cfbolz | hi! | 10:30 |
| hpk | hi cf! | 10:30 |
| antocuni | hi carl | 10:31 |
| stakkars (n=tismer@i577B7EBF.versanet.de) joined #pypy. | 10:36 | |
| headius_ (n=headius@p4090-ipbf1302marunouchi.tokyo.ocn.ne.jp) left irc: Read error: 110 (Connection timed out) | 10:42 | |
| headius (n=headius@ci-dhcp-35.ci.i.u-tokyo.ac.jp) joined #pypy. | 10:56 | |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) joined #pypy. | 11:03 | |
| pete__c_ (n=pete@petec-pt.tunnel.tserv3.fmt2.ipv6.he.net) joined #pypy. | 11:04 | |
| antocuni | cfbolz, xorAxAx: feel like reviewing the blog post about codeswarm? It's in my user dir | 11:08 |
| cfbolz | antocuni: I am still unsure about copyright notices | 11:13 |
| cfbolz | I guess we should at least attribute the second one, and I am unsure whether the first one is ok | 11:13 |
| antocuni | I think that in italy it's allowed to use parts of songs I bougth for such uses | 11:14 |
| cfbolz | but it is the full song, no? | 11:14 |
| antocuni | sorry, I meant parts of CDs | 11:15 |
| antocuni | but indeed, I don't know if it plays well with distributing on the internet | 11:15 |
| antocuni | well, I guess I can simply remove it, it's not that I care too much | 11:15 |
| cfbolz | I am just a bit scared, I guess :-) | 11:16 |
| pete__c (n=pete@2001:470:1f04:2ed:0:0:0:2) left irc: Read error: 110 (Connection timed out) | 11:17 | |
| antocuni | scared that dire straits might sue pypy? :-) | 11:17 |
| cfbolz | or something, yes | 11:18 |
| Action: antocuni posts | 11:20 | |
| arianepaola (n=ariane@unaffiliated/arianepaola) left irc: Remote closed the connection | 11:52 | |
| headius (n=headius@ci-dhcp-35.ci.i.u-tokyo.ac.jp) left irc: | 12:08 | |
| bigdo1 | dire straits, hmm ... curious minds want to now: "Money for Nothing"..(Yea grant). ... "So Far Away".(but getting closer).... or "The Bug"...(your current thorn in your side)... or maybe ยท "Your Latest Trick"....(JIT work) | 12:19 |
| cfbolz | hehehe | 12:19 |
| cfbolz | The Official PyPy Soundtrack | 12:20 |
| bigdo1 | cfbolz: The PyPy soundtrack would be a good playlist... | 12:20 |
| bigdo1 | cfbolz: when you guys come up with a play list, you should blog it :-) | 12:21 |
| bigdo1 | back to VPN land happy coding everyone | 12:22 |
| cfbolz | :-) | 12:23 |
| s4msung (n=s4msung@p4FDDB9E7.dip0.t-ipconnect.de) left irc: "Verlassend" | 12:39 | |
| antocuni | bigdo1: "Sultans of JIT" :-) | 12:43 |
| tuxella (n=tuxella@ivr94-8-88-162-25-29.fbx.proxad.net) joined #pypy. | 12:43 | |
| xorAxAx | : | 12:44 |
| xorAxAx | -) | 12:44 |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) left irc: Read error: 113 (No route to host) | 12:44 | |
| xorAxAx | hmm, there is a nice dire straits track that would fit to the video | 12:44 |
| xorAxAx | with this long intro | 12:45 |
| xorAxAx | brothers in arms album version probably | 12:45 |
| xorAxAx | IIRC | 12:45 |
| xorAxAx | or money for nothing :) | 12:45 |
| antocuni | brothers in arms is too slow IMHO | 12:46 |
| xorAxAx | yeah, money for nothing in the album version then | 12:46 |
| xorAxAx | but your choices lack any kind of dynamic :-) | 12:46 |
| antocuni | xorAxAx: I inserted an audio delay to make the drum of "walk of life" starting together with the first sprint | 12:49 |
| antocuni | the visual effect is nice, but vimeo apparently lost the delay when transcoding, so they are not in sync anymore | 12:49 |
| xorAxAx | antocuni: did i miss it in the last version or is that a new one? :) | 12:49 |
| xorAxAx | did you use mp3 vbr maybe? | 12:49 |
| xorAxAx | cbr helps a lot to fight these sync issues | 12:50 |
| antocuni | xorAxAx: it was there from the beginning, but now I notice that only mplayer plays it correctly | 12:50 |
| antocuni | ffplay doesn't, for example | 12:50 |
| antocuni | neither vlc :-/ | 12:52 |
| AntonK (n=asl@asl.dorms.spbu.ru) left irc: Remote closed the connection | 12:52 | |
| antocuni | any clue where armin is? | 12:58 |
| AntonK (n=asl@asl.dorms.spbu.ru) joined #pypy. | 12:58 | |
| cfbolz | antocuni: relaxing? | 12:59 |
| antocuni | could be, I guess | 13:00 |
| cfbolz | antocuni: why|? | 13:05 |
| antocuni | because I wanted to discuss with him about of to handle hint(obj.__class__, promote=True) for ootype | 13:05 |
| cfbolz | ah | 13:07 |
| CIA-3 | 03exarkun * r56116 10pypy/pypy/interpreter/ (module.py test/test_module.py): test and fix for r56106 | 13:17 |
| cfbolz | exarkun: cool, thanks | 13:21 |
| bigdo1 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) left irc: Read error: 110 (Connection timed out) | 13:33 | |
| exarkun | if I want to print a W_StringObject from rpython in a readable way, what should I do? | 13:41 |
| exarkun | space.unwrap()? | 13:42 |
| exarkun | seems so :) | 13:46 |
| cfbolz | exarkun: just for testing or in a translatable way? | 13:52 |
| exarkun | translatable | 13:52 |
| cfbolz | space.unwrap isn't :-) | 13:52 |
| exarkun | :( | 13:52 |
| cfbolz | you can get an rpython string using space.str_w(w_string) | 13:53 |
| cfbolz | exarkun: why do you want to print something? | 13:53 |
| exarkun | trying to debug something | 13:53 |
| cfbolz | ok | 13:53 |
| cfbolz | then print space.str_w(w_obj) works | 13:54 |
| exarkun | I want to see what gets popped from sys.modules in try_import_mod | 13:54 |
| exarkun | cool, thanks | 13:54 |
| bigdo1 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) joined #pypy. | 14:05 | |
| mgod (n=mgod@fw.arb.zattoo.com) joined #pypy. | 14:12 | |
| nikomatsakis (n=niko@niko-duo.inf.ethz.ch) joined #pypy. | 14:29 | |
| nikomatsakis | hello all :) | 14:30 |
| antocuni | hi niko! | 14:31 |
| antocuni | how's going? | 14:31 |
| cfbolz | hi niko! | 14:31 |
| cfbolz | nikomatsakis: what are you doing these days? | 14:32 |
| nikomatsakis | it's going well | 14:32 |
| nikomatsakis | I've been busy preparing various paper submissions | 14:32 |
| nikomatsakis | two workshops recently, and now I'm trying to get a POPL '09 paper ready... | 14:32 |
| nikomatsakis | we'll see though, the deadline is looking closer and closer... | 14:33 |
| cfbolz | sounds good | 14:33 |
| cfbolz | what's it about? | 14:33 |
| nikomatsakis | cfbolz: one sec, just got a call | 14:34 |
| exarkun | humph. so much for that hypothesis. | 14:40 |
| exarkun | anyone know how a module might disappear from sys.modules? or a good way to figure out how it is happening? | 14:43 |
| cfbolz | exarkun: you only see it on pypy-c, not on py.py, I guess? | 14:45 |
| exarkun | cfbolz: I haven't tried on py.py, I suspect it would take 10 or 15 hours to reproduce there | 14:45 |
| exarkun | okay, maybe only 2 or 3, but still | 14:45 |
| exarkun | longer than it takes to instrument the interpreter and do a new translation | 14:46 |
| antocuni | exarkun: write a subclass of dict which starts a pdb when you call __delitem__() or clear() on it, then assign an instance of that to sys.modules | 14:46 |
| Odd_Bloke (n=oddbloke@compsoc.sunion.warwick.ac.uk) left irc: Remote closed the connection | 14:46 | |
| cfbolz | antocuni: doesn't work when translated though | 14:47 |
| exarkun | I wouldn't assume that replacing sys.modules with a new object would actually work meaningfully. Do you think it would? | 14:47 |
| antocuni | cfbolz: why? | 14:47 |
| Action: antocuni tries | 14:47 | |
| cfbolz | antocuni: pdb? | 14:47 |
| antocuni | cfbolz: app-level pdb | 14:47 |
| cfbolz | ah | 14:47 |
| cfbolz | exarkun: you can put something there that looks exactly like a dict :-) | 14:47 |
| exarkun | cfbolz: so anything in pypy that needs to use sys.modules always looks it up on the sys module, nothing caches it? | 14:48 |
| cfbolz | think so | 14:48 |
| exarkun | okay, that sounds worth a try | 14:49 |
| cfbolz | exarkun: even if that is not the case, you can work around that by using multidicts | 14:49 |
| cfbolz | a bit more work though | 14:49 |
| Action: cfbolz needs to leave | 14:49 | |
| cfbolz (n=cfbolz@p4FDA9A9E.dip0.t-ipconnect.de) left irc: "Leaving" | 14:49 | |
| exarkun | ouch | 14:50 |
| exarkun | I broke pypy :( | 14:50 |
| antocuni | exarkun: cpython caches sys.modules: http://paste.pocoo.org/show/77954/ | 14:51 |
| antocuni | while pypy-c crashes with that code | 14:53 |
| Action: exarkun notices some clear calls | 14:55 | |
| bigdo2 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) joined #pypy. | 14:56 | |
| antocuni | exarkun: this works with pypy-c, might be useful http://paste.pocoo.org/show/77955/ | 14:57 |
| exarkun | antocuni: thanks | 14:58 |
| exarkun | I think I found my bug :/ | 14:58 |
| antocuni | well, that's good, no? | 14:58 |
| CarlosEDP (n=Carlos@189.65.142.243) joined #pypy. | 14:59 | |
| exarkun | I guess so | 14:59 |
| mgod (n=mgod@fw.arb.zattoo.com) left irc: | 15:00 | |
| headius (n=headius@218.45.193.1) joined #pypy. | 15:00 | |
| bigdo2 | exarkun: congratulations, does that mean twisted runs under pypy :-) | 15:02 |
| exarkun | found and fixed are still different things :o | 15:02 |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) joined #pypy. | 15:03 | |
| mgod (n=mgod@fw.arb.zattoo.com) joined #pypy. | 15:04 | |
| bigdo2 | exarkun: at least you have reduced your search space :-) | 15:04 |
| bigdo1 (n=scmikes@72-197-8-8-arpa.cust.cinci.current.net) left irc: Read error: 110 (Connection timed out) | 15:11 | |
| DanielHolth (n=chatzill@209.251.142.125) left irc: "ChatZilla 0.9.83 [Firefox 3.0/2008052912]" | 15:14 | |
| stakkars (n=tismer@i577B7EBF.versanet.de) left irc: Read error: 110 (Connection timed out) | 15:21 | |
| joe_mp_ (n=joe@p549C6802.dip.t-dialin.net) joined #pypy. | 15:22 | |
| MrMeanie (n=Geoff@82.153.197.73) joined #pypy. | 15:22 | |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) left irc: No route to host | 15:25 | |
| joe_mp (n=joe@p549C6802.dip.t-dialin.net) left irc: Read error: 110 (Connection timed out) | 15:30 | |
| MrMeanie (n=Geoff@82.153.197.73) left irc: " HydraIRC -> http://www.hydrairc.com <- \o/" | 15:38 | |
| nikomatsakis | cfbolz: sorry disappeared for a while! if you're still curious, the paper is about this system I developed for detecting race conditions using an effect system | 15:42 |
| nikomatsakis | though recently I found a paper published in Jan of this year that has a very similar approach, which is a bit frustrating. :( That's partly why I'm working double time, cause I have to try to invent some new stuff on top of what I already had :) | 15:43 |
| nikomatsakis | antocuni: can I ask you a question about the less-meta-instances branch | 15:43 |
| antocuni | sure | 15:43 |
| nikomatsakis | what exactly changed, in the end | 15:44 |
| nikomatsakis | :) | 15:44 |
| antocuni | :-) | 15:44 |
| antocuni | the major change is that ootypesystem.class.OBJECT is now aliased to ootype.ROOT | 15:45 |
| nikomatsakis | and how do we fetch the meta class | 15:45 |
| nikomatsakis | if i recall, there was some effort to avoid generating a meta class except when needed? | 15:46 |
| antocuni | exactly | 15:46 |
| nikomatsakis | but when it is needed, it's added as a field at the upper-most class in the class hierarchy | 15:46 |
| nikomatsakis | ? | 15:46 |
| panni_ (i=hannes@ip-88-152-22-213.hsi.ish.de) joined #pypy. | 15:47 | |
| antocuni | nikomatsakis: look at rclass.py:46 | 15:47 |
| nikomatsakis | ok | 15:47 |
| antocuni | if the class needs a metaclass, it inherits from rclass.META, which has a class_ field | 15:48 |
| nikomatsakis | and rclass.META inherits from ROOT? | 15:48 |
| nikomatsakis | or am I confused :) | 15:48 |
| antocuni | yes | 15:49 |
| Dekcarki (i=rico@port-ip-213-211-248-216.sta.reverse.mdcc-fun.de) joined #pypy. | 15:49 | |
| nikomatsakis | ok. and Exception does not (should not) require the metaclass | 15:50 |
| antocuni | exactly | 15:50 |
| nikomatsakis | hence it should derive from ROOT, not META | 15:50 |
| nikomatsakis | so, if you have some classes A, B, and C which all inherit from one another, and C requires a meta-class, then this fact propagates all the way up to A, which then inherits from Meta, not Object? | 15:51 |
| nikomatsakis | er, not ROOT | 15:51 |
| antocuni | uhm, that's a good question | 15:52 |
| antocuni | but I don't think that the jvm backend should care about this | 15:52 |
| antocuni | basically, things are simpler than before now | 15:52 |
| nikomatsakis | no, it doesn't affect the backend I guess, I'm just trying to make sure I understand the model | 15:52 |
| antocuni | ah ok. The problem is that I'm not sure to understand it at 100% :-) | 15:53 |
| nikomatsakis | ok, well I guess I have enough to start hacking around a bit :) | 15:54 |
| nikomatsakis | thanks for the help | 15:55 |
| antocuni | nikomatsakis: ah, I think I said a wrong thing before | 15:55 |
| nikomatsakis | ok | 15:55 |
| antocuni | if class A needs a metaclass, A still inherits from ROOT and A_Meta inherits from META | 15:56 |
| nikomatsakis | ah, ok | 15:56 |
| antocuni | yes, I think it makes much more sense now :-) | 15:56 |
| nikomatsakis | but where does the _meta field come from | 15:56 |
| nikomatsakis | er, _class | 15:56 |
| nikomatsakis | what I mean by that | 15:57 |
| nikomatsakis | is how does the system link an object to it's meta class | 15:57 |
| nikomatsakis | and if I recall correctly, in the case where a custom meta class is not needed, then an object's meta class is just its java.lang.Class object | 15:57 |
| antocuni | wait, there is a bit of confusion | 15:58 |
| antocuni | there is the type ootype.Class, which is basically the equivalent of java.lang.Class and .NET System.Type | 15:58 |
| nikomatsakis | right | 15:58 |
| antocuni | then there is this "meta class", which is used only to contain class attributes | 15:59 |
| nikomatsakis | right | 15:59 |
| antocuni | to get the ootype.Class relative to an instance, we have two possibilities | 16:00 |
| antocuni | 1) if the instance has no metaclasses, call ootype.classof(obj) | 16:00 |
| antocuni | 2) is the instance has metaclasses, do obj.getmeta().class_ | 16:00 |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) joined #pypy. | 16:00 | |
| antocuni | (though maybe (1) could work as well, I don't know) | 16:00 |
| nikomatsakis | and how do you know if the instance has metaclasses...? I mean, if you have an instance of ROOT, it could be anything, right? | 16:02 |
| nikomatsakis | though if (1) works as well that would make sense | 16:02 |
| antocuni | when you cast it to ROOT, you loose this knowledge | 16:02 |
| fijal (n=fijal@c-76-25-206-12.hsd1.co.comcast.net) joined #pypy. | 16:03 | |
| nikomatsakis | ok | 16:04 |
| antocuni | nikomatsakis: ah, the backend needs to implement the new operation "classof"; I already did that, let me commit | 16:04 |
| nikomatsakis | ok | 16:04 |
| nikomatsakis | I assume that just invokes Object::getClass(() | 16:05 |
| antocuni | yes | 16:05 |
| CIA-3 | 03antocuni 07less-meta-instances * r56124 10pypy/pypy/translator/jvm/opcodes.py: implement classof | 16:05 |
| antocuni | yes, it's not that it was too hard to do that :-) | 16:05 |
| fijal | hello | 16:09 |
| antocuni | hi maciek! | 16:10 |
| nikomatsakis | fijal: Hi! | 16:10 |
| fijal | hi anto, hi niko | 16:11 |
| CarlosEDP (n=Carlos@189.65.142.243) left irc: "ChatZilla 0.9.83 [Firefox 3.0/2008052906]" | 16:14 | |
| verte (n=verte@121.219.103.81) left irc: "http://coyotos.org/" | 16:15 | |
| nikomatsakis | antocuni: it seems I have it basically working | 16:17 |
| nikomatsakis | but I have to work through all the tests now :) | 16:17 |
| antocuni | nikomatsakis: cool | 16:17 |
| nikomatsakis | antocuni: is there an easy way to get the ootype.Instance corresponding to exception.Exception?" | 16:18 |
| antocuni | yes, I think there is some method inside exceptiondata or so | 16:18 |
| Action: antocuni checks | 16:18 | |
| antocuni | nikomatsakis: it should be exceptiondata.lltype_of_exception_value | 16:19 |
| antocuni | I don't remember how to get exceptiondata though :-) | 16:19 |
| antocuni | maybe it's attached to the rtyper | 16:19 |
| nikomatsakis | that was my next question :) | 16:19 |
| Odd_Bloke (n=oddbloke@compsoc.sunion.warwick.ac.uk) joined #pypy. | 16:21 | |
| nikomatsakis | yeah, the rtyper seems to | 16:21 |
| stakkars (n=tismer@16.106.113.82.net.de.o2.com) joined #pypy. | 16:21 | |
| arigato (n=arigo@d83-181-110-154.cust.tele2.ch) joined #pypy. | 16:22 | |
| fijal | arigato: hi! | 16:22 |
| arigato | hi! | 16:23 |
| antocuni | hi armin! | 16:23 |
| nikomatsakis | antocuni: except that the data in exceptiondata doesn't quite seem to be right... | 16:25 |
| antocuni | uh? | 16:25 |
| antocuni | why? | 16:25 |
| nikomatsakis | lltype_of_exception_type is Class, and _value is Instance(Root) | 16:25 |
| nikomatsakis | at least when I print it out | 16:25 |
| antocuni | strange | 16:25 |
| Action: antocuni checks | 16:26 | |
| antocuni | nikomatsakis: indeed, it seems buggy | 16:27 |
| antocuni | nikomatsakis: I think you can try to use get_standard_ll_exc_instance | 16:28 |
| nikomatsakis | ok | 16:28 |
| nikomatsakis | if not, there is another way I can solve my problem | 16:28 |
| antocuni | nikomatsakis: I think this could work, but it's a hack http://paste.pocoo.org/show/77970/ | 16:29 |
| Action: antocuni wonders why lltype_of_exception_type is buggy | 16:30 | |
| nikomatsakis | antocuni: ok, thanks :) I think my other option is more elegant for the moment | 16:30 |
| antocuni | what's the other option? | 16:30 |
| nikomatsakis | I need a base class for all PyPy generated exception | 16:30 |
| nikomatsakis | exceptions | 16:30 |
| nikomatsakis | so instead of having Exception extend Throwable | 16:31 |
| nikomatsakis | I will just have it extend a class "PyPyThrowable" which itself extends Throwable | 16:31 |
| nikomatsakis | I only want this for testing, so I can print out pypy-generated exceptions but let other ones through... | 16:31 |
| nikomatsakis | (such as the dreaded VerifyError :) | 16:32 |
| antocuni | nikomatsakis: what do you need to put inside PyPyThrowable? | 16:32 |
| nikomatsakis | antocuni: nothing at all, I just want a class name to use in a catch statement which catches only pypy-generated exceptions | 16:32 |
| antocuni | ah, makes sense I guess | 16:33 |
| nikomatsakis | actually it might not, as I'd eventually like to move unify pypy-generated exceptions for things like "divide by zero" with their Java equivalents | 16:33 |
| nikomatsakis | but for now it's ok :) | 16:33 |
| antocuni | nikomatsakis: what's the difference between extending Throwable and extending Exception? | 16:33 |
| nikomatsakis | Exception must be declared in your throws clauses | 16:33 |
| nikomatsakis | which I think the bytecode verifier checks | 16:33 |
| nikomatsakis | but I'm not sure | 16:33 |
| nikomatsakis | that might be a Java-only thing | 16:34 |
| exarkun | Humm | 16:34 |
| fijal | nikomatsakis: can you stop using this strange font? | 16:34 |
| exarkun | I thought even Java had unchecked exceptions now | 16:34 |
| nikomatsakis | I don't know how I switched fonts | 16:34 |
| fijal | I tend to try to unselect it with mouse | 16:34 |
| nikomatsakis | (also, the font looks normal on my screen) | 16:34 |
| exarkun | nikomatsakis: you have some reverse video going on | 16:34 |
| nikomatsakis (n=niko@niko-duo.inf.ethz.ch) left #pypy. | 16:34 | |
| nikomatsakis (n=niko@niko-duo.inf.ethz.ch) joined #pypy. | 16:35 | |
| nikomatsakis | is that better? | 16:35 |
| antocuni | nikomatsakis: it's not possible to have 1-1 mapping right now, because Python hierarchy is richer (e.g. there is no equivalent to LookupError) | 16:35 |
| fijal | I don't know | 16:35 |
| fijal | you have just "think" and "s" in exceptions in reverse video | 16:35 |
| nikomatsakis | exarkun: regarding checked vs unchecked: java has always had both | 16:35 |
| exarkun | nikomatsakis: < nikomatsakis> which I think the bytecode verifier checks | 16:35 |
| exarkun | nikomatsakis: you did something special to "think" in that message | 16:35 |
| nikomatsakis | I think I hit the italics รey | 16:35 |
| nikomatsakis | key | 16:35 |
| nikomatsakis | without thinking about it :) | 16:35 |
| fijal | since when they ship keyboards with italics key? | 16:36 |
| exarkun | fijal: it's right above the internet key | 16:36 |
| nikomatsakis | antocuni: yeah, I know it's not possible to have 1-to-1, that's why I didn't change it. I've had thoughts about various hacks to make it work but I don't know if it's really possible... | 16:36 |
| nikomatsakis | at least not elegantly | 16:37 |
| antocuni | nikomatsakis: I think it's possible; since it's about RPython, we could just forbid classes which don't fit into .net/jvm hierarchy | 16:37 |
| antocuni | last time I checked there were few of them | 16:37 |
| nikomatsakis | antocuni: yeah, that would be one way | 16:38 |
| fijal | exarkun: sad discussion about community buildbots | 16:38 |
| antocuni | nikomatsakis: also, if we go for "native" exceptions, we loose the possibility to use the exception transformer | 16:39 |
| nikomatsakis | antocuni: look at function.py line 133 | 16:39 |
| nikomatsakis | (on the branch) | 16:39 |
| nikomatsakis | I guess we could get rid of the if, no? | 16:40 |
| antocuni | nikomatsakis: which directory? | 16:40 |
| nikomatsakis | (sorry, in the CLI directory) | 16:40 |
| nikomatsakis | I've never understood what that if was testing for anyhow :) | 16:40 |
| antocuni | uhm :-) | 16:40 |
| antocuni | I remember that there were some weird failure that I fixed that way, but don't ask me which :-) | 16:41 |
| antocuni | I think we can throw it away, yes | 16:41 |
| stakkars (n=tismer@16.106.113.82.net.de.o2.com) left irc: Read error: 110 (Connection timed out) | 16:43 | |
| fijal | arigato: you there? | 16:43 |
| arigato | mostly, yes | 16:46 |
| fijal | arigato: do you remember chatting with nokia guy last EP? | 16:47 |
| arigato | not right now, what was it about? | 16:47 |
| fijal | ok, doesn't matter :) | 16:47 |
| fijal | we went to this nice place for lunch with him | 16:47 |
| fijal | about pypy and mobile devices | 16:47 |
| antocuni | fijal: it seems you are the only one that remember of it :-) | 16:48 |
| fijal | yeah, that might be just in my mind | 16:49 |
| mgod (n=mgod@fw.arb.zattoo.com) left irc: Remote closed the connection | 16:51 | |
| mgod (n=mgod@fw.arb.zattoo.com) joined #pypy. | 16:51 | |
| dialtone (n=dialtone@adsl-75-6-226-104.dsl.pltn13.sbcglobal.net) left irc: Connection timed out | 16:54 | |
| nikomatsakis | antocuni: I figured out what that if was for | 16:56 |
| nikomatsakis | because taking it out broke one of my tests :) | 16:56 |
| antocuni | hurray TDD :-) | 16:57 |
| hpk (n=chatzill@p549F4CFE.dip.t-dialin.net) left irc: Read error: 110 (Connection timed out) | 16:57 | |
| nikomatsakis | sometimes the code that follows wants to know the class of the exception | 16:57 |
| nikomatsakis | so I think the cli code there is broken | 16:57 |
| nikomatsakis | (i.e., it shouldn't just be commented out, but should be converted to use getClass() [or whatever the cli equiv is] instead of fetching meta) | 16:58 |
| nikomatsakis | I can move the test on the JVM that breaks into oosupport | 16:58 |
| antocuni | nikomatsakis: no, because now to query the class they call classof(), which is translated to GetType() | 16:58 |
| nikomatsakis | hmm, except they don't | 16:58 |
| nikomatsakis | not in all cases :) | 16:59 |
| antocuni | but sure, if you have an additional test, please move it | 16:59 |
| nikomatsakis | maybe the real bug lies elsewhere then | 16:59 |
| nikomatsakis | i.e., the code SHOULD be generating a call to classof | 16:59 |
| nikomatsakis | hmm, it seems the test *was* already in the cli, so maybe I am wrong... will keep investigating and let you know | 17:03 |
| nikomatsakis | regardless I am refactoring the common tests into oosupport | 17:03 |
| antocuni | ok | 17:03 |
| antocuni | nikomatsakis: maybe commit what you have done so far, if you want me to have a look | 17:04 |
| nikomatsakis | antocuni: ok, 1 sec | 17:05 |
| CIA-3 | 03niko 07less-meta-instances * r56125 10pypy/pypy/translator/ (7 files in 5 dirs): start fixing jvm: test try_nested in test/test_exceptions still doesn't work | 17:10 |
| nikomatsakis | antocuni: if you want to take a look, try running the jvm test/test_exceptions with -k nested | 17:10 |
| antocuni | ok | 17:11 |
| nikomatsakis | if you run it with --view | 17:11 |
| nikomatsakis | the problem, I think, is due to the code in fn_7 | 17:11 |
| nikomatsakis | although I see that same code in the CLI and it seems to work | 17:11 |
| nikomatsakis | basically the value from the inputargs never gets stored | 17:11 |
| nikomatsakis | and the verifier is unhappy about it | 17:11 |
| Action: antocuni confused | 17:15 | |
| tav (n=tav@82.152.221.255) joined #pypy. | 17:15 | |
| nikomatsakis | (if I add those lines from the if back in, however, all the tests in test_exception pass) | 17:16 |
| nikomatsakis | I am a bit confused too | 17:16 |
| antocuni | nikomatsakis: the problem is not of that code, because if you put a pdb there you see it's not reached | 17:16 |
| xorAxAx | wormholes in geneva -- http://arxiv.org/abs/0710.2696 | 17:16 |
| nikomatsakis | antocuni: not so | 17:17 |
| nikomatsakis | it is reached | 17:17 |
| nikomatsakis | are we talking about different code? | 17:17 |
| antocuni | probably :-) | 17:17 |
| antocuni | ah! | 17:17 |
| nikomatsakis | ok, I mean jvm/node.py, line 389 or so | 17:17 |
| antocuni | I was modifying the cli one :-) | 17:17 |
| nikomatsakis | I thought that might be the case :) | 17:18 |
| antocuni | ok, better now | 17:18 |
| fzzzy (n=donovan@office.mochimedia.net) joined #pypy. | 17:18 | |
| xorAxAx | hmm, i did a mistake. its 18 and not 34. | 17:19 |
| fijal | xorAxAx: ? | 17:20 |
| xorAxAx | lets see how many NIN fans read the pypy blog (i am not a nin fan but somebody recommended this track :)) | 17:20 |
| nikomatsakis | antocuni: one thing I don't quite get is why the cli code looks so different in --view from the jvm code? | 17:20 |
| xorAxAx | fijal: the track name | 17:20 |
| nikomatsakis | perhaps it has to do with optimizations that are applied? | 17:20 |
| xorAxAx | ssi2ssa? | 17:20 |
| antocuni | nikomatsakis: indeed, the jvm code has one more block | 17:21 |
| antocuni | ah no, never mind | 17:21 |
| antocuni | nikomatsakis: I bet that's because the cli backend calls backendopt | 17:22 |
| nikomatsakis | would make sense | 17:22 |
| nikomatsakis | maybe we can disable that and see if the cli breaks too? | 17:22 |
| antocuni | but that probably means that it's not testing anything | 17:22 |
| antocuni | sure | 17:22 |
| pjenvey_ (n=pjenvey@astound-69-42-4-166.ca.astound.net) joined #pypy. | 17:22 | |
| nikomatsakis | indeed it does | 17:23 |
| headius (n=headius@218.45.193.1) left irc: Read error: 104 (Connection reset by peer) | 17:23 | |
| nikomatsakis | break I mean | 17:23 |
| antocuni | yes | 17:23 |
| antocuni | so it probably just means that I should have not commented out that code | 17:23 |
| nikomatsakis | it looks like it | 17:24 |
| headius (n=headius@218.45.193.1) joined #pypy. | 17:24 | |
| nikomatsakis | and based on how I read the graph, the code still makes sense | 17:24 |
| nikomatsakis | i.e., there are two arguments on the edge and we only store 1 | 17:24 |
| nikomatsakis | which seems intuitively wrong | 17:24 |
| Rhamphoryncus (n=rhamph@unaffiliated/rhamphoryncus) joined #pypy. | 17:24 | |
| nikomatsakis | (with the code commented out that is) | 17:24 |
| antocuni | yes | 17:24 |
| antocuni | no clue why I did that | 17:24 |
| nikomatsakis | probably you just weren't sure what it should do, and then it never broke any tests | 17:24 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) joined #pypy. | 17:25 | |
| CIA-3 | 03niko 07less-meta-instances * r56126 10pypy/pypy/translator/jvm/node.py: | 17:25 |
| CIA-3 | uncomment the code in the if which stores both the exception class | 17:25 |
| CIA-3 | and value. this fixes various tests in test_exception. | 17:25 |
| nikomatsakis | antocuni: I leave it to you to decide how to deal with the fact that backendopt=True hid the problem ... :) | 17:25 |
| antocuni | nikomatsakis: sure, I tackle it now | 17:26 |
| nikomatsakis | antocuni: no, I mean, should we run the test in the future with backendopt=False, or both ways, or not worry about it... | 17:26 |
| nikomatsakis | anyway, cool, jvm seems to be working | 17:26 |
| nikomatsakis | I just started running all the tests, but that will take a while... | 17:27 |
| fijal | nikomatsakis: what are you doing? | 17:27 |
| antocuni | I'm going to add a backendopt attribute to the test class, and when it's set it takes precedence over the default value of interpret | 17:27 |
| nikomatsakis | antocuni: makes sense | 17:28 |
| nikomatsakis | fijal: I was making the jvm backend work on the less-meta-instances branch | 17:28 |
| fijal | ah, cool | 17:28 |
| fijal | do you plan to have jvm jit any time? | 17:28 |
| fijal | :) | 17:28 |
| nikomatsakis | fijal: which basically seems to have involved deleting a lot of code | 17:28 |
| nikomatsakis | I'd love to... soon as I get this damn PhD thing out of the way... :) | 17:28 |
| fijal | how far are you? | 17:29 |
| nikomatsakis | hard to say... I'm not far enough to start writing my thesis yet, but I'm close enough that I can see how it will look, I guess | 17:29 |
| nikomatsakis | but I have a hard time turning that into an estimate of how long it will take to finish | 17:30 |
| fijal | right | 17:30 |
| CIA-3 | 03arigo 07async-del * r56127 10pypy/pypy/ (5 files in 4 dirs): | 17:34 |
| CIA-3 | Not completely nice, but this should make signals and threads | 17:34 |
| CIA-3 | work again. | 17:34 |
| CIA-3 | 03antocuni 07less-meta-instances * r56128 10pypy/pypy/translator/cli/ (function.py test/runtest.py test/test_exception.py): | 17:34 |
| CIA-3 | because of backendopts, the various try/finally/except clauses were | 17:34 |
| CIA-3 | inlined, so the tests were not testing anything. Disable backendopts | 17:34 |
| CIA-3 | for them, and fix a bug | 17:34 |
| antocuni | nikomatsakis: I try to translate pypy-jvm | 17:35 |
| nikomatsakis | antocuni: ok, cool | 17:35 |
| antocuni | at some point, we should investigate how to improve pypy-jvm speed | 17:35 |
| antocuni | do you plan to come to any sprint soon? | 17:36 |
| Action: antocuni afk | 17:38 | |
| fijal | SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause (test_undocumented.py, line 51) | 17:39 |
| idnar | haha | 17:40 |
| xorAxAx | http://programmersatwork.files.wordpress.com/2008/05/m1105b1.gif -- a program by bill gates | 17:41 |
| exarkun | he needs to work on his handwriting | 17:42 |
| arigato | fijal: supporting this is new in 2.5 | 17:42 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) left irc: Connection timed out | 17:42 | |
| fijal | arigato: I know | 17:43 |
| fijal | just fixing tests to work on wyvern | 17:43 |
| fijal | that wasn't me, just stolen this test from Brett | 17:43 |
| CIA-3 | 03fijal * r56129 10pypy/pypy/module/zipimport/test/test_undocumented.py: port this to python2.4 | 17:51 |
| fijal | http://wyvern.cs.uni-duesseldorf.de/pypytest/56102/failed/module._lsprof.test.test_cprofile.py.AppTestCProfiletest_cprofile.html | 17:51 |
| fijal | I don't understand this one | 17:51 |
| fijal | arigato: any idea? | 17:51 |
| arigato | no | 17:52 |
| antocuni | uh, translate -b jvm fails during rtyping on the less-meta-instances branch :-( | 17:58 |
| antocuni | strange, because I'm sure I translated pypy-cli sometime ago | 17:58 |
| antocuni | any clue? http://paste.pocoo.org/show/77976/ | 17:58 |
| fradiavalo (n=fradiava@outside30.mlp.com) joined #pypy. | 17:59 | |
| fijal | hint is broken? | 18:00 |
| xorAxAx | antocuni: local hint related modifictions? | 18:00 |
| fijal | annotation of it? | 18:00 |
| fijal | yes, it's fixed vs variable size | 18:00 |
| antocuni | yes, and it's probably due to the fixed-list-ootype branch | 18:00 |
| antocuni | I also think I've already encountered this error, and also fixed it | 18:00 |
| antocuni | but I don't remember :-/ | 18:01 |
| antocuni | ah, indeed; the less-meta-instances branch was created on 2008-04-04, while I had this discussion with armin on 2008-04-07: http://www.tismer.com/pypy/irc-logs/pypy/%23pypy.log.20080407 | 18:04 |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) left irc: Read error: 113 (No route to host) | 18:04 | |
| antocuni | ah, I even saved the discussion in pypy/doc :-) | 18:07 |
| fijal | wuaaa | 18:07 |
| CIA-3 | 03antocuni 07less-meta-instances * r56130 10pypy/pypy/config/translationoption.py: backport this constraint from dist/, as without it translation is broken | 18:10 |
| arigato | oups | 18:12 |
| Action: arigato traces a test failure to an obscure race condition in the thread code | 18:12 | |
| antocuni | arigato: btw, I've been playing with hint(..., promote_class=True) in the last days | 18:13 |
| antocuni | I even got the test passing more or less | 18:13 |
| arigato | nice | 18:13 |
| antocuni | arigato: what I'm not sure about, is how to store the "I know your class" information on the InstanceRedBox | 18:14 |
| antocuni | right now, I'm using a fake fielddesc with name=="__class__" and index=-1, and I call remember_field | 18:14 |
| antocuni | but maybe there are better ways to do it | 18:14 |
| arigato | makes kind of sense (although index=0 sounds better) | 18:14 |
| arigato | I fear that nicer solutions will have to wait for some refactoring | 18:15 |
| antocuni | arigato: indices starts from 1? | 18:15 |
| arigato | not so far, but for ootype you can count from 1 | 18:15 |
| arigato | using -1 is a bit bogus | 18:15 |
| arigato | it will map to "the last element of the list" | 18:15 |
| arigato | but I'm not sure how well that plays with subclassing | 18:16 |
| antocuni | not well, I fear | 18:16 |
| Action: antocuni checks | 18:16 | |
| arigato | so it's probably easier to have fielddesc indices starting from 1, and use 0 for __class__ | 18:16 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) joined #pypy. | 18:16 | |
| CIA-3 | 03arigo * r56131 10pypy/pypy/module/thread/threadlocals.py: | 18:17 |
| CIA-3 | Oups! A race condition in the thread "minicache" code. Mea culpa. | 18:17 |
| CIA-3 | Hard to write a failing test, but at least test_perthread_excinfo | 18:17 |
| CIA-3 | fails because of this issue in the async-del branch. | 18:17 |
| antocuni | arigato: ah good, it's should be even easy to add __class__ in position 0 | 18:17 |
| arigato | yes | 18:18 |
| CIA-3 | 03arigo 07async-del * r56132 10pypy/pypy/module/thread/ (__init__.py gil.py test/test_gil.py threadlocals.py): Some progress in the thread module. | 18:18 |
| nikomatsakis | good bye everyone | 18:24 |
| nikomatsakis (n=niko@niko-duo.inf.ethz.ch) left #pypy. | 18:24 | |
| CIA-3 | 03fijal * r56133 10pypy/pypy/lib/ (app_test/test_functools.py functools.py): Lousy implementation of functools with some tests. Not as compliant, but working | 18:24 |
| fijal | cool | 18:25 |
| fijal | http://code.google.com/p/sole-scion/ | 18:25 |
| fijal | this stuff works almost out of the box on pypy | 18:26 |
| antocuni | nice | 18:27 |
| antocuni | blog post! | 18:27 |
| antocuni | "pypy plays games!" :-) | 18:28 |
| fijal | that's good | 18:28 |
| fijal | since it takes another library from C and just runs it on top of our ctypes | 18:29 |
| fijal | besides, it's a good performance issue for ctypes | 18:29 |
| antocuni | how can I tell java to use only one of my cores? | 18:30 |
| xorAxAx | antocuni: taskset? :) | 18:31 |
| antocuni | xorAxAx: I'm reading the man page :-) | 18:31 |
| antocuni | ah, but I don't think it fits | 18:32 |
| antocuni | since genjvm launches many instances of jasmin to assemble sources | 18:32 |
| antocuni | so I would have to call taskset for all of those | 18:32 |
| xorAxAx | isnt it inherited? | 18:33 |
| antocuni | no clue | 18:33 |
| antocuni | it's worh trying I guess | 18:33 |
| stakkars_ (n=tismer@16.106.113.82.net.de.o2.com) joined #pypy. | 18:33 | |
| antocuni | cool, it works :-) | 18:34 |
| CIA-3 | 03fijal * r56134 10extradoc/talk/ep2008/status.txt: Draft of my slides | 18:46 |
| fijal | antocuni: can you look at slides? | 18:46 |
| fijal | antocuni: especially topic-wise | 18:48 |
| CIA-3 | 03arigo 07async-del * r56135 10pypy/pypy/ (3 files in 2 dirs): Translation fix. | 18:48 |
| fijal | antocuni: how's rst2beamer working? | 18:49 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) left irc: Connection timed out | 18:51 | |
| stakkars_ (n=tismer@16.106.113.82.net.de.o2.com) left irc: Read error: 60 (Operation timed out) | 18:55 | |
| antocuni | fijal: sure | 19:06 |
| antocuni | cool, pypy-jvm-less-meta-instances translates and runs | 19:07 |
| fijal | antocuni: wait a sec | 19:08 |
| fijal | now | 19:08 |
| CIA-3 | 03fijal * r56136 10extradoc/talk/ep2008/status.txt: Update | 19:08 |
| antocuni | fijal: for rst2beamer, have a loot to extradoc/talk/pycon-italy-2008/makepdf | 19:09 |
| arigato | antocuni: nice | 19:10 |
| CIA-3 | 03fijal * r56137 10pypy/pypy/module/gc/app_gc.py: | 19:10 |
| CIA-3 | Potentialy questionable commit. Implement gc.enable and gc.disable as | 19:10 |
| CIA-3 | enable/disable finalizers. It fits in one of two use cases, the other | 19:10 |
| CIA-3 | one is for performance reasons, where it does not harm. | 19:10 |
| arigato | fijal: gc.enable: yes, I was also thinking about something similar | 19:11 |
| antocuni | it's even 46% faster than an older pypy-jvm I've found around | 19:11 |
| arigato | uh | 19:11 |
| antocuni | not sure if it was supposed to be the fastest | 19:11 |
| Action: antocuni looks at pypy-jvm --info | 19:11 | |
| fijal | arigato: good :) | 19:11 |
| fijal | arigato: two things | 19:12 |
| fijal | 1. our traceback handling explodes if __name__ is bogus or missing | 19:12 |
| Nick change: eartone -> chintone | 19:12 | |
| fijal | 2. our pickle is broken | 19:12 |
| antocuni | ah no, the options are not the same, the slower pypy-jvm was compiled with inline-threshold=32.4, which is known to produce slower pypy-jvms | 19:12 |
| xorAxAx | chintone: rename pickle | 19:12 |
| Nick change: chintone -> pickletone | 19:12 | |
| antocuni | uh no, the options are really the same | 19:14 |
| antocuni | 46% looks a bit too much as a speedup, though | 19:14 |
| xorAxAx | why? | 19:15 |
| fijal | arigato: can you look at app_gc.py? | 19:15 |
| fijal | I think it would not work with geninterp | 19:15 |
| antocuni | xorAxAx: becase less-meta-instances removes a lot of classes, but they are not really used | 19:16 |
| fijal | what about "it enabled some optimizations in hotspot"? | 19:16 |
| antocuni | probably | 19:16 |
| xorAxAx | probably hotspot will more likely unwrap classes now? | 19:16 |
| antocuni | anyway, it's nice :-) | 19:16 |
| arigato | fijal: just disable geninterp for app_gc.py and use a normal "global" statement | 19:18 |
| fijal | ok | 19:18 |
| fijal | it should be # NOT_RPYTHON is first or second line? | 19:18 |
| arigato | something like that | 19:18 |
| arigato | or maybe NOT_RPYTHON should appear in the module docstring | 19:19 |
| xorAxAx | i think there are multiple NOT_RPYTHON detector sites with different syntax :) | 19:19 |
| fijal | yes | 19:20 |
| fijal | copied from rctime | 19:20 |
| antocuni | "there should be only one way etc. etc." | 19:20 |
| CIA-3 | 03fijal * r56138 10pypy/pypy/module/gc/app_gc.py: Make non-rpython version of it, with global statement | 19:21 |
| CIA-3 | 03fijal * r56139 10pypy/pypy/module/gc/test/test_gc.py: And while we're at it, a test | 19:22 |
| stakkars (n=tismer@16.106.113.82.net.de.o2.com) joined #pypy. | 19:23 | |
| fijal | do we have interp-level cpickle module? | 19:25 |
| fijal | or not really? | 19:26 |
| fijal | stakkars: hey | 19:26 |
| stakkars | jo mei | 19:26 |
| fijal | stakkars: how's everything? | 19:26 |
| stakkars | fijal: something is good | 19:27 |
| Dekcarki (i=rico@port-ip-213-211-248-216.sta.reverse.mdcc-fun.de) left irc: Read error: 60 (Operation timed out) | 19:27 | |
| stakkars | fijal: bad that we lost EuroStar | 19:28 |
| gr00ber (i=50cab54c@gateway/web/ajax/mibbit.com/x-7f832c1350c03e29) joined #pypy. | 19:30 | |
| gr00ber | does the LLVM dudes hang out on some irc channel? | 19:30 |
| xorAxAx | gr00ber: ask AntonK | 19:30 |
| gr00ber | AntonK | 19:31 |
| gr00ber | you are hereby asked | 19:31 |
| xorAxAx | :) | 19:31 |
| gr00ber | hey, ronny is here | 19:31 |
| gr00ber | so, on a scale from 1 to 10, how finished is pypy? | 19:32 |
| xorAxAx | is it a linear or a logarithmic scale? | 19:32 |
| dialtone (n=dialtone@adsl-99-136-101-166.dsl.pltn13.sbcglobal.net) joined #pypy. | 19:33 | |
| fijal | 8.5 | 19:33 |
| gr00ber | xorAxAx: linear | 19:35 |
| antocuni | fijal: the "status" talk is meant to show differences between now and last year? | 19:57 |
| fijal | yes | 19:58 |
| fijal | I think that's the nice idea | 19:58 |
| antocuni | I think we are missing a lot of things that happened long ago but still after last july | 19:59 |
| antocuni | e.g., pypy-jvm translated in september-october | 19:59 |
| fijal | sure, feel free to add | 19:59 |
| antocuni | fijal: have you looked through the blog posts? | 19:59 |
| antocuni | fijal: I've also added a new slide about comparing cpython and pypy speed | 20:00 |
| antocuni | well, only the title so far :-) | 20:00 |
| fijal | antocuni: no, I didn't | 20:02 |
| antocuni | I'm doing it | 20:03 |
| CIA-3 | 03antocuni * r56140 10extradoc/talk/ep2008/status.txt: some language tweaks, some new points/paragraphs | 20:04 |
| AntonK | gr00ber: yes | 20:13 |
| AntonK | #llvm at OFTC | 20:13 |
| AntonK | evening all, btw | 20:13 |
| AntonK | :) | 20:13 |
| CIA-3 | 03arigo 07async-del * r56141 10pypy/pypy/interpreter/executioncontext.py: Translation fix. | 20:14 |
| fijal | arigato: still there? | 20:29 |
| arigato | yes | 20:29 |
| fijal | tell me | 20:29 |
| fijal | if I have A | 20:29 |
| fijal | and B, being subclass of A | 20:29 |
| fijal | if I call A() == B() | 20:29 |
| fijal | should B.__eq__ be called first? | 20:29 |
| arigato | sometimes | 20:29 |
| arigato | :-) | 20:30 |
| fijal | is there a PEP or this is just because? | 20:30 |
| arigato | it's specified in the lang reference, very roughly | 20:30 |
| arigato | I *think* that for __eq__, yes, B.__eq__ is always called before A.__eq__, but I may be missing a case | 20:31 |
| fijal | doesn't work for pypy-c | 20:31 |
| arigato | ah? strange | 20:31 |
| CIA-3 | 03antocuni 07oo-jit * r56142 10pypy/pypy/ (10 files in 7 dirs): | 20:32 |
| CIA-3 | tentative checkin; introduce a new hint "promote_class=True"; the | 20:32 |
| CIA-3 | promotion is done on the class of the argument, and the resulting var | 20:32 |
| CIA-3 | is red. | 20:32 |
| CIA-3 | On lltype, this has the same effect as hint(obj.__class__, | 20:32 |
| CIA-3 | promote=True), but the latter has no chance to work on ootype. | 20:32 |
| arigato | ah, __eq__ is not tested in pypy/objspace/test/test_descroperation.py | 20:32 |
| arigato | various other special methods are | 20:32 |
| antocuni | arigato: a review of r56142 would be very welcome at some point :-) | 20:32 |
| fijal | http://paste.pocoo.org/show/78007/ | 20:32 |
| arigato | antocuni: ok, at some point :-) (I'm enjoying some days mostly off) | 20:33 |
| arigato | fijal: ah, no, not like that | 20:33 |
| antocuni | arigato: sure, no hurry :-) | 20:33 |
| arigato | the relevant issue is what occurs if you override __eq__ in the class B | 20:33 |
| arigato | fijal: in other words, pypy-c and cpython both give the same result as your paste | 20:35 |
| exarkun | what about pypy-c --oldstyle | 20:35 |
| exarkun | (without the object base) | 20:35 |
| arigato | exarkun: I don't really want to know :-) | 20:35 |
| exarkun | :) | 20:36 |
| fijal | fijal@zygfryd:/tmp$ python x.py | 20:36 |
| fijal | <class '__main__.B'> <class '__main__.A'> | 20:36 |
| fijal | fijal@zygfryd:/tmp$ pypy-c x.py | 20:36 |
| fijal | <class '__main__.A'> <class '__main__.B'> | 20:36 |
| fijal | fijal@zygfryd:/tmp$ | 20:36 |
| fijal | no | 20:36 |
| fijal | they give different answers | 20:36 |
| arigato | bah | 20:36 |
| fijal | it's fairly good | 20:37 |
| fijal | that's the only bug that we discovered in pypy while trying to run twisted | 20:37 |
| arigato | probably an unexpected side effect of the rich-versus-cmp comparison | 20:37 |
| fijal | and tons of stuff in twisted | 20:37 |
| arigato | (insert "mess" in my previous sentence wherever you feel like) | 20:37 |
| xorAxAx | fijal: so pypy was useful while debugging twisted | 20:38 |
| fijal | probably an unexpected mess side effect of mess and the rich-versus-cmp-versus-mess comparison mess | 20:40 |
| fijal | ? | 20:40 |
| sanxiyn (n=tinuviel@sublibdhcp15.kaist.ac.kr) joined #pypy. | 20:41 | |
| fijal | sanxiyn: hi! | 20:42 |
| sanxiyn | Hi, long time no see :) | 20:42 |
| antocuni | sanxiyn: hi! | 20:42 |
| sanxiyn | I just wanted to say that I appreciated PyPy code swarm movie, especially moments with my name :) | 20:42 |
| arigato | http://paste.pocoo.org/show/78009/ | 20:45 |
| arigato | this also gives different results | 20:45 |
| fijal | arigato: so you consider it wrong? | 20:46 |
| arigato | well, it's irregular because the same thing with, say, __add__ and __radd__ | 20:46 |
| arigato | behave differently | 20:46 |
| antocuni | I would say that pypy's behaviour is saner... | 20:46 |
| arigato | but I suppose we all know that cpython is irregular | 20:46 |
| gr00ber | sanxiyn: video link? | 20:46 |
| sanxiyn | gr00ber: http://morepypy.blogspot.com/2008/06/pypy-code-swarm.html | 20:46 |
| sanxiyn | I guess I am now "retired" member or so... | 20:47 |
| arigato | in this case, it seems that to get the same behavior as CPython we could kill the condition in line 504 in descroperation.py | 20:47 |
| arigato | (keeping line 505) | 20:47 |
| fijal | hm | 20:49 |
| stakkars (n=tismer@16.106.113.82.net.de.o2.com) left irc: Read error: 110 (Connection timed out) | 20:52 | |
| Dekcarki (i=rico@port-ip-213-211-248-216.sta.reverse.mdcc-fun.de) joined #pypy. | 21:09 | |
| joe_mp_ (n=joe@p549C6802.dip.t-dialin.net) left irc: Read error: 104 (Connection reset by peer) | 21:13 | |
| fijal | sanxiyn: what are you working on these days? | 21:31 |
| sanxiyn | fijal: Nothing in particular... | 21:32 |
| sanxiyn | Ah, ok, my most recent working project is: | 21:32 |
| sanxiyn | http://savannah.nongnu.org/project/memberlist.php?group=isarmathlib | 21:32 |
| sanxiyn | Library of Formalized Mathematics! :) | 21:32 |
| fijal | sanxiyn: do you work on IronMonkey any more? | 21:33 |
| sanxiyn | No. | 21:33 |
| fijal | do you know the official status of this project? | 21:33 |
| sanxiyn | No. | 21:33 |
| fijal | ok | 21:33 |
| sanxiyn | I do read all mails to tamarin-devel list. It seems to be stagnated, at least from "outside". | 21:33 |
| xorAxAx | sanxiyn: do you know verifun? :) | 21:34 |
| sanxiyn | xorAxAx: No. | 21:34 |
| fijal | sanxiyn: tamarin or IronMonkey? | 21:34 |
| xorAxAx | its an automated theorem prover | 21:34 |
| sanxiyn | fijal: IronMonkey. Tamarin is, well, progressing irregularly. | 21:34 |
| sanxiyn | xorAxAx: I am not interested in automated theorem proving. I am interested in proof assistants. | 21:34 |
| sanxiyn | xorAxAx: Most math are too difficult for automation. | 21:34 |
| xorAxAx | sanxiyn: hehe, yes | 21:35 |
| sanxiyn | xorAxAx: When any automatic theorem prover constructs a real number, notify me :) | 21:35 |
| xorAxAx | sanxiyn: probably possible on quantum computers :) | 21:35 |
| sanxiyn | Not a chance I'd say. | 21:36 |
| sanxiyn | I do know that some automatic theorem provers succeed in proving Cantor's theorem (x < 2^x) just searching from axioms. | 21:36 |
| sanxiyn | That's a great achievement, but... far from most mathematics. | 21:36 |
| xorAxAx | did anybody show that it is undecidable? | 21:37 |
| sanxiyn | xorAxAx: ? | 21:37 |
| sanxiyn | xorAxAx: Some Godel-Cohen undecidable results are already formalized, I think. But x < 2^x is simple diagnoal arugment. | 21:37 |
| sanxiyn | My point is that some programs succeed finding diagonal argument without any manual hinting. (Using best first search) | 21:37 |
| xorAxAx | no, i mean whether the process of automated theorem proving on reals is undecidable | 21:38 |
| sanxiyn | xorAxAx: Real number with addition is decidable, I think. Multiplication is not. | 21:38 |
| sanxiyn | Eh, no. Strike that. | 21:38 |
| sanxiyn | Wait a min. | 21:38 |
| sanxiyn | xorAxAx: I think Tarski proved it to be decidable. So no. | 21:39 |
| sanxiyn | From Wikipedia: "Tarski (1951) proved that the theory of real closed fields, including the binary predicate symbols "=", "`", and "<", and the operations of addition and multiplication, admits elimination of quantifiers, which implies that it is a complete and decidable theory." | 21:39 |
| sanxiyn | So, you can algorithmically decide any basic equalities and inequalities on real number field. | 21:40 |
| sanxiyn | That was 50 years ago! | 21:40 |
| sanxiyn | xorAxAx: I bet many ATP have it implemented already. | 21:40 |
| xorAxAx | so people have just to come up with fast heuristics :) | 21:40 |
| antocuni (n=antocuni@host88-126-dynamic.25-79-r.retail.telecomitalia.it) left irc: "Leaving" | 21:40 | |
| Action: xorAxAx queries a guy working on verifun :) | 21:41 | |
| sanxiyn | xorAxAx: I recall that initial proof of Tarski gave rise to an algorithm which is order of 2^2^n (double exponential) or something. | 21:41 |
| sanxiyn | xorAxAx: So there definitely needs to be heuristics. But it is decidable. | 21:41 |
| sanxiyn | xorAxAx: That guy should know better :) | 21:42 |
| xorAxAx | probably you can even find a fast algorithm in BQP :) | 21:42 |
| sanxiyn | xorAxAx: I also think that theory of integrating elementary functions is decidable. | 21:42 |
| sanxiyn | xorAxAx: So you can fully automate whatever is in Calculus 101 textbook. | 21:42 |
| Action: xorAxAx had a lecture about grover's algo today | 21:43 | |
| sanxiyn | xorAxAx: BQP database search? | 21:43 |
| xorAxAx | yes | 21:44 |
| sanxiyn | That doesn't help with exponentials. | 21:44 |
| xorAxAx | well, i dont suggest using this algo for this problem :) | 21:44 |
| sanxiyn | Ah, I found the reference. Indefinite integration decision procedure is due to Risch (1968). | 21:45 |
| CIA-3 | 03fijal * r56143 10pypy/pypy/objspace/ (descroperation.py test/test_descroperation.py): A test and a fix | 21:45 |
| sanxiyn | I think this (or its derivative) is what most Computer Algebra systems implement. | 21:45 |
| arigato (n=arigo@d83-181-110-154.cust.tele2.ch) left irc: "See you" | 21:45 | |
| sanxiyn | xorAxAx: One curious thing is that first order theory on (real, addition, multiplication) is decidable (Tarski), but (integer, addition, multiplication) is not (Godel). | 21:46 |
| sanxiyn | But (integer, addition) is. I think that is due to Presburger. | 21:46 |
| sanxiyn | xorAxAx: Is VeriFun like ACL2? | 21:49 |
| sanxiyn | I have used ACL2... | 21:50 |
| xorAxAx | sanxiyn: i dont know ACL2 | 21:50 |
| sanxiyn | xorAxAx: It's an automated theorem prover and program verification for Common Lisp. | 21:50 |
| sanxiyn | http://en.wikipedia.org/wiki/ACL2 | 21:50 |
| sanxiyn | You can prove things like correctness of quicksort relatively easily. | 21:51 |
| sanxiyn | Not sure what effort it would take to verify (say) timsort. :) | 21:51 |
| xorAxAx | sanxiyn: not sure how they compare internally, but at least for the user they work very differnetly -- http://www.inferenzsysteme.informatik.tu-darmstadt.de/verifun/ | 21:52 |
| xorAxAx | i think its language consists of characters that arent even in unicode or something like that :-) | 21:52 |
| sanxiyn | Why doesn't VeriFun use a "real" programming language? | 21:53 |
| xorAxAx | no idea | 21:53 |
| xorAxAx | but the code i saw and posted here didnt let me believe that these people are great software technicians :) | 21:54 |
| sanxiyn | Now... program verification is the ultimate static typing, isn't it? Strange how I like it, while loving Python too. | 21:59 |
| exarkun | why is it the ultimate static typing? | 22:00 |
| sanxiyn | exarkun: Static typing is supposed to help you catch bugs? :) | 22:00 |
| sanxiyn | And verified program has no bugs. | 22:00 |
| sanxiyn | (By definition) | 22:00 |
| exarkun | heh :p | 22:00 |
| exarkun | maybe program verification is the ultimate automated test, then | 22:00 |
| xorAxAx | """Knuth once warned users of his software, "Beware of bugs in the above code; I have only proved it correct, not tried it."""" | 22:01 |
| sanxiyn | xorAxAx: Yeah. | 22:01 |
| xorAxAx | http://dev.eclipse.org/viewcvs/index.cgi/org.aspectj/modules/weaver/src/org/aspectj/weaver/patterns/HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor.java?revision=1.1&root=Tools_Project | 22:02 |
| sanxiyn | Recently, Xavier Leroy (OCaml BDFL) finished an interesting project, verified C to PowerPC compiler. (with caveats...) | 22:02 |
| sanxiyn | http://compcert.inria.fr/ | 22:02 |
| sanxiyn | (Parser is not verified.) | 22:02 |
| sanxiyn | But all optimization passes are. | 22:02 |
| xorAxAx | hmm, that class name is a bit longer than pypy's | 22:03 |
| xorAxAx | hmm, they generate LTL but check on another IR level | 22:04 |
| sanxiyn | Static typing can be considered a weak form of formal verification, where verifier (usually called compiler) automatically proves its program to be free of type error using hints provided by programmers. | 22:05 |
| sanxiyn | Or using less hints or no hints by doing type inference. Whatever. | 22:05 |
| sanxiyn | exarkun: By the way, recently I saw some blog posts from Divmod people? discussing ULS(Ultra Large Systems). | 22:09 |
| exarkun | yes | 22:09 |
| exarkun | uls is super fun | 22:09 |
| sanxiyn | I am not sure why Richard Gabriel? dismisses possibility of using formal verification for such projects. | 22:10 |
| sanxiyn | Mathematics is ULS. Design of mathematics is beyond any human reach. | 22:10 |
| sanxiyn | Modern papares routinely call early 20th century papers, even 19th century papers. | 22:10 |
| sanxiyn | Eh, quote. | 22:10 |
| sanxiyn | Legacy components. :) | 22:10 |
| sanxiyn | For a good example, consider the Classification. :) | 22:11 |
| sanxiyn | Is it because math does not interact with real world? If then, I think math should be used for all non-IO parts of ULS, or something like that. | 22:12 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) joined #pypy. | 22:14 | |
| sanxiyn | Richard Gabriel's essay says: "This seems to be a weak retreat in the face of the overwhelming differences between the image of the clarity of mathematics and the messiness of the ULS system as analog to New York." I found it unfair. | 22:15 |
| sanxiyn | Mathematics is as messy as New York. | 22:15 |
| sanxiyn | http://plus.maths.org/issue41/features/elwes/ has a good image agreeing with my image of mathematics. | 22:16 |
| ronny | math is not messy, but stuff like sas or mathlab is | 22:16 |
| sanxiyn | ronny: Math is messy. | 22:17 |
| sanxiyn | ronny: Think of four color theorem or Kepler's conjecture. It's ad hoc hack-ridden program at its best. | 22:17 |
| sanxiyn | Consisting of endless chains of if-then-else. | 22:18 |
| mgod (n=mgod@fw.arb.zattoo.com) left irc: Read error: 110 (Connection timed out) | 22:18 | |
| sanxiyn | Wikipedia: Appel and Haken's proof reduced the infinitude of possible map colorings to 1936 reducible configurations, which had to be checked one by one by computer. This reducibility part of the work was independently double checked with different programs and computers. However, the unavoidability part of the proof was over 500 pages of hand written counter-counter-examples, much of which was done by Haken's teenage son Lippold verifying grap | 22:20 |
| sanxiyn | h colorings. | 22:20 |
| sanxiyn | Seriously. | 22:20 |
| sanxiyn | Teenage son. Heh. | 22:20 |
| stakkars | sanxiyn: Math is not messy. Whatever the context is, I reject this. | 22:32 |
| sanxiyn | stakkars: Most first proof of theorems are complex, and then if theorem is important, its proof is simplified and made more elegant for pedagogical and aesthetic purposes. | 22:33 |
| sanxiyn | stakkars: Then why is it wrong to criticise those "first proofs" to be messy? | 22:34 |
| sanxiyn | And most mathematical theorems have only first proofs. Because they aren't considered important to put effort into writing better proofs. | 22:34 |
| stakkars | sanxiyn: it is not wrong to criticize those first proofs. | 22:35 |
| ronny | well, nobody is gain if people just whine about complex profs, write simple ones if you care | 22:35 |
| fijal | stakkars: how's psyco work going? do you still work on it? | 22:35 |
| stakkars | sanxiyn: it is just wrong to accuse math for those idiots. Math is innocent. | 22:35 |
| sanxiyn | Heh. | 22:35 |
| ronny | its like whining about broken apis by bad programmers | 22:36 |
| sanxiyn | Then math-as-in-development is messy. It is to be cleaned up, but work queue is indefinitely growing. :) | 22:36 |
| ronny | the only way to fix it is to step in | 22:36 |
| ronny | well, the best work ques are a never ending source of intresting problems | 22:36 |
| stakkars | fijal: yeahh! Sorry to tell this. I have/am written/writing my own debugger, just for this sh**t. | 22:36 |
| fijal | what's superficial in it to say gdb? | 22:37 |
| ronny | bbl, i still need to fix some messy c++ and make simpleconfig mass-suitable | 22:38 |
| stakkars | sanxiyn: don't be mad with math. Be mad on your professors, this is probably more appropriate. But math is amoung the good forces. | 22:38 |
| sanxiyn | Heh, I agree. | 22:38 |
| stakkars | sanxiyn: see? Math is love. | 22:38 |
| fradiavalo (n=fradiava@outside30.mlp.com) left irc: "Leaving" | 22:39 | |
| sanxiyn | I welcome our mathematical overlords. | 22:39 |
| stakkars | sanxiyn: teach this to the advisors. | 22:39 |
| stakkars | sanxiyn: *THEY* are wrong. | 22:39 |
| ronny | math is not love, havent you guys seen the xkcd about the usual approaches not working on it | 22:40 |
| sanxiyn | (Giving the context... in software systems, legacy components are trouble, but in math, legacy math may not be beautiful, but they are true, so it's no trouble) | 22:40 |
| Action: idnar takes an definite integral out to dinner | 22:40 | |
| sanxiyn | I think that was the context | 22:40 |
| gr00ber (i=50cab54c@gateway/web/ajax/mibbit.com/x-7f832c1350c03e29) left #pypy. | 22:40 | |
| sanxiyn | ronny: http://xkcd.com/435/ ? | 22:41 |
| sanxiyn | Hm maybe not. | 22:41 |
| stakkars | ronny: my name is Eliza, please tell me your problem. :-) | 22:41 |
| idnar | hahaha | 22:42 |
| fijal | stakkars: ? | 22:42 |
| stakkars | idnar: correct reaction | 22:42 |
| fijal | stakkars: why you're doing that? (writing a debugger) | 22:42 |
| sanxiyn | I guess, to debug. | 22:43 |
| ronny | sanxiyn: http://xkcd.com/55/ | 22:43 |
| stakkars | fijal: because I was too dumb to use GDB's extensions (just learned that from M.v.Loewis) | 22:43 |
| stakkars | I needed a debugger that understood my needs. Maybe I could reverse the problem. But this way, it worked 4 me. | 22:44 |
| sanxiyn | (I may be talking nonsense) Can Psyco emit debug symbols understood by standard debuggers? | 22:44 |
| stakkars | I needed to do pattern matching on unexpected results. Mine can do that, in plain Python. | 22:45 |
| sanxiyn | That's great. | 22:46 |
| stakkars | sanxiyn: not natively, but now it can. | 22:46 |
| sanxiyn | gdb's problem is that all great programs need great scripting, but gdb script is pathetic. | 22:46 |
| sanxiyn | I do have bunch of gdb scripts though. It's better than nothing... | 22:46 |
| djc | stakkars: will Psyco work on amd64 soon? ;) | 22:46 |
| stakkars | I did not bother. I just used what I understood. | 22:47 |
| sanxiyn | I think someone is developing (this year) Python plugin for gdb. | 22:47 |
| sanxiyn | Where did I see it... (searching) | 22:47 |
| stakkars | And that is the debughlp API, through C and MS crap. | 22:47 |
| stakkars | djc: it probably never will, unless you convince me to do the impossible (, again) | 22:48 |
| djc | stakkars: how much would I have to pay you? (this is a half-serious question) | 22:49 |
| stakkars | 64 bit is not possible with psyco, unless you do an almost complete re-write | 22:49 |
| djc | I have some Python code at work that's quite small but does the same thing over and over again | 22:49 |
| sanxiyn | Yeah, it is this one. | 22:49 |
| sanxiyn | http://sourceware.org/ml/gdb-patches/2008-04/msg00653.html | 22:49 |
| sanxiyn | [RFC][patch 0/9] Python support in GDB | 22:49 |
| sanxiyn | It is still being actively reviewed. | 22:49 |
| fijal | djc: there is assumption that everything is into all over the place in psyco | 22:50 |
| sanxiyn | So I think we will be able to do complex stop condition matching with gdb+Python soon. I think I could use that sometimes... | 22:50 |
| stakkars | djc: I would of course do it, if you would take a vague estimate. | 22:50 |
| djc | stakkars: what do you mean by a vague estimate? | 22:51 |
| stakkars | between 4 months and a full year, at $1000 per day. Then I would do it. | 22:51 |
| djc | hmm | 22:51 |
| stakkars | The uncertaincy is even worse than my worse estimates. | 22:52 |
| djc | I wonder if I had that kind of money, if I should put it towards Psyco or PyPy-JIT stuff | 22:52 |
| fijal | djc: if you don't that doesn't matter, right? | 22:52 |
| stakkars | I would put it towards PyPy, in any case. | 22:52 |
| stakkars | The reason why I'm arguing is just the fat that I am meant to finish psyco, although I tried to talk this | 22:53 |
| stakkars | out of them, after I realized the risk. | 22:53 |
| stakkars | which is huge, and stays huge. | 22:54 |
| sanxiyn | By the way... I am thinking of helping Debian PyPy packaging. | 22:54 |
| stakkars | good! | 22:54 |
| fijal | sanxiyn: I don't think there is a big usecase for that honestly | 22:54 |
| sanxiyn | I saw that you advised Debian PyPy maintainer to enable tests in build daemon. | 22:54 |
| sanxiyn | Do you review test failures from build? | 22:54 |
| sanxiyn | fijal: Why? | 22:54 |
| fijal | because it's hard yo use pypy for anything | 22:55 |
| fijal | no, I didn't review anything | 22:55 |
| sanxiyn | fijal: That is supposed to change by the end of the year, right? :) | 22:55 |
| fijal | so by the end of the year we can think about it | 22:56 |
| fijal | hum | 22:56 |
| fijal | I don't know, it might make some sense | 22:56 |
| stakkars | djc: I am anyway pretty close to the final solution, and looking forward to publish it, soon | 22:56 |
| stakkars | g'nite | 22:57 |
| sanxiyn | And about Debian matter... One Debian developer ported greenlet to MIPS. Perhaps no one is familiar with that, but can't PyPy just include this file? | 22:57 |
| sanxiyn | http://bugs.debian.org/459520 | 22:57 |
| sanxiyn | He assert that it passes all tests in py/c-extension/greenlet. | 22:58 |
| fijal | it has nothing to do with pypy I think | 22:58 |
| sanxiyn | Where should I bring this? | 22:58 |
| fijal | py-dev mailing list | 22:59 |
| sanxiyn | Ok. | 22:59 |
| stakkars | sanxiyn: verdammter Mist, this looks pretty similar to my? code? | 23:00 |
| sanxiyn | stakkars: ? | 23:00 |
| sanxiyn | stakkars: I think all switch codes in greenlet is ultimately derivative of your stackless transfer code? | 23:01 |
| stakkars | well, the greenlet code is based upon my Stackless code, which I recognize there... | 23:01 |
| stakkars | yes, I was just stunned. | 23:01 |
| stakkars | It happens so often that I have to argue about stackless code, which is greenlet stuff, actually, | 23:02 |
| stakkars | and I become jealous, because greenlets became more popular than they deserve, I think... | 23:03 |
| fijal | because people don't want different interpreter? | 23:03 |
| Dekcarki (i=rico@port-ip-213-211-248-216.sta.reverse.mdcc-fun.de) left irc: "Verlassend" | 23:03 | |
| sanxiyn | fijal: I think that's irrational, but still human nature. | 23:04 |
| stakkars | yes, in fact, that's the caveat. I should re-write the interpreter as an extension module - gaah! | 23:04 |
| sanxiyn | Fear of the unknown or something like that. Like any usual Python users understand CPython. | 23:05 |
| stakkars (n=tismer@16.121.113.82.net.de.o2.com) left irc: | 23:05 | |
| idnar | it's not necessarily fear; it's easier to deploy a new extension module than a new interpreter | 23:05 |
| sanxiyn | idnar: Yes, and I don't want that to happen with PyPy when it's ready, therefore some concern about deployment. | 23:06 |
| sanxiyn | Debian is easy. You make a package, and packages are equal. | 23:06 |
| fijal | sanxiyn: yeah, but being irrational doesn't change a thing | 23:07 |
| idnar | is stackless in debian? ;) | 23:08 |
| fijal | yop | 23:08 |
| fijal | hum | 23:08 |
| sanxiyn | fijal: I think no. | 23:08 |
| idnar | I don't see it | 23:08 |
| idnar | although I see pypy-stackless :P | 23:08 |
| idnar | anyhow, there is also mental inertia | 23:08 |
| fijal | indeed | 23:08 |
| fijal | that's weird | 23:08 |
| sanxiyn | Debian has jython and ironpython though. | 23:10 |
| sanxiyn | Debian has python-support which does system-wide byte compilation on python module package installation. Ideally this should be integrated to other Python implementations too. | 23:11 |
| sanxiyn | I tried (lightly) to get it working with IronPython's pre-compilation, and failed. | 23:11 |
| idnar | most modules probably won't work with IronPython/jython, I expect | 23:13 |
| sanxiyn | idnar: Surprisingly many do. | 23:13 |
| sanxiyn | idnar: And Debian already has mechanism for module packages to specify interpreter compatibility. | 23:13 |
| idnar | well, ok, I suppose there are a lot of relatively trivial modules | 23:13 |
| sanxiyn | Like Python-Version: > 2.4 | 23:13 |
| sanxiyn | So once infrastructure is up, individual maintainer can test at lesure and add "jython x.y" to Python-Version list or so. | 23:14 |
| sanxiyn | Like, currently Debian has both Python 2.4 and 2.5, so it needs mechanism to exclude byte-compilation for some modules which only work on 2.5. | 23:14 |
| idnar | it's a bit more complicated, though | 23:15 |
| idnar | you'd need to build the package with jython/ironpython like is done for each python version | 23:16 |
| idnar | so now suddenly your build-depends pull in a JVM and Mono | 23:16 |
| sanxiyn | idnar: Ah, Debian transitioned from previous pythonx.y-module scheme. | 23:16 |
| idnar | might get a little ugly | 23:16 |
| sanxiyn | idnar: There is no more separate packages for each Python versions. That's the whole point of python-support system. | 23:16 |
| idnar | yes | 23:17 |
| sanxiyn | Well, for extension modules, still. :( | 23:17 |
| idnar | but that's just a change in how the binary packages are build | 23:17 |
| idnar | *built | 23:17 |
| idnar | you still have to run "python2.4 setup.py" "python2.5 setup.py" "python2.6 setup.py" | 23:17 |
| idnar | it's just that the results all go into the same package | 23:17 |
| sanxiyn | idnar: Hm, no. There doesn't need to be build-dependency to JVM or Mono. | 23:17 |
| idnar | I suppose for pure-python packages, the modules are shared | 23:17 |
| idnar | so you don't build separately | 23:17 |
| sanxiyn | Yes. | 23:17 |
| sanxiyn | And byte-compilation happen on installation time, only for installed Pythons. | 23:18 |
| sanxiyn | Therefore, if you don't have Jython installed, Jython compilation won't happen. | 23:18 |
| sanxiyn | And when the first time Jython is installed, all existing Jython-compatible modules will be compiled. | 23:18 |
| idnar | right | 23:18 |
| sanxiyn | So no build-depend to JVM for Python modules. | 23:18 |
| sanxiyn | Assuming we get python-support infra right. | 23:19 |
| sanxiyn | It currently isn't. But it can be made so I think. | 23:19 |
| jewel_ (n=jewel@dsl-242-165-12.telkomadsl.co.za) joined #pypy. | 23:21 | |
| sanxiyn | Debian has similar stuff for emacs (to handle GNU emacs and Xemacs byte compilation) and Common Lisp (from Clisp to SBCL). | 23:21 |
| sanxiyn | Ideally, there would be one for Haskell, so no more 3 duplicated packages for all Haskell libraries... | 23:22 |
| sanxiyn | And ML. Well it's all idle talk since I won't write haskell-support or ml-support anytime soon. | 23:22 |
| sanxiyn | But I intend to hack on python-support. | 23:22 |
| stakkars (n=tismer@i577B7EBF.versanet.de) joined #pypy. | 23:26 | |
| idnar | Haskell packages aren't built at install time, are they? | 23:26 |
| sanxiyn | idnar: They aren't. | 23:27 |
| sanxiyn | They could though. Common Lisp does it. | 23:30 |
| sanxiyn | http://packages.debian.org/sid/common-lisp-controller | 23:30 |
| idnar | doesn't seem like such a great idea | 23:30 |
| idnar | compiling Haskell code can take quite a while | 23:30 |
| sanxiyn | Same for Common Lisp. | 23:31 |
| sanxiyn | The point is to avoid creating say, 6 packages for every Lisp libraries. | 23:31 |
| idnar | taking five minutes to install a Haskell package wouldn't be that fun, though | 23:31 |
| stakkars | sanxiyn: yes, I see! | 23:32 |
| sanxiyn | stakkars: ? | 23:32 |
| sanxiyn | Debian has ecl, gcl, cmucl, sbcl, clisp, mcl, with incompatible binary formats. So currently single source-shipping package cl-ppcre (regular expression library) would become 6 packages without common-lisp-controller, etc. | 23:33 |
| stakkars | confusion about stackless, it was in-appropriate | 23:33 |
| stakkars | sanxiyn: and I am behind myself! | 23:34 |
| sanxiyn | stakkars: I am not sure I understand... | 23:34 |
| stakkars | sanxiyn: I am sure you understand. | 23:34 |
| sanxiyn | Hm... backtracking... I said fear of stackless is in part irrational, idnar raised deployment problems, I said something about packages and especially install-time compilation manager like python-support... | 23:36 |
| stakkars | ? | 23:36 |
| sanxiyn | ? | 23:37 |
| stakkars | ok, we agree to mis-understand. nice, too, right? | 23:37 |
| sanxiyn | Ok. | 23:37 |
| stakkars | just forget it, and be open for fun. | 23:38 |
| sanxiyn | :) | 23:38 |
| stakkars | I have a relaxed night, did not do anything but quibbling, and that*s all that I expect from anybody. | 23:39 |
| stakkars | I am as average as anybody else, please allow me to bee like this, tonite. | 23:40 |
| sanxiyn | I enjoys talk like this very much. I also realizes talk is cheap. | 23:40 |
| sanxiyn | Thank you for interesting talk! Bye! | 23:40 |
| stakkars | geez. | 23:40 |
| sanxiyn | stakkars: And I will rembmer that math is love :) | 23:41 |
| sanxiyn (n=tinuviel@sublibdhcp15.kaist.ac.kr) left irc: "Ex-Chat" | 23:41 | |
| stakkars | it is! | 23:41 |
| Action: stakkars is unaware of people taking him on his words. | 23:42 | |
| idnar | <3 math | 23:42 |
| stakkars | 3 is? | 23:43 |
| exarkun | stakkars: turn your head clockwise 90 degrees | 23:43 |
| exarkun | and then use your imagination a little | 23:44 |
| exarkun | (ok a lot) | 23:44 |
| stakkars | (crack!) this hurts! | 23:44 |
| stakkars | ok, got it I think | 23:44 |
| --- Sat Jun 28 2008 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!