[00:59] Continuity (kittish@host81-155-190-218.range81-155.btcentralplus.com) left irc: Remote closed the connection
[01:02] _hannes (srcipo@i528C13CA.versanet.de) left irc: "utz utz utz"
----- silence for 3 hr and 25 minutes ----- [04:27] }{`P^}IT (HAKAN06__@69.157.237.111) joined #pypy.
[04:27] }{`P^}IT (HAKAN06__@69.157.237.111) left #pypy.
[04:31] [}{`P^}IT!HAKAN06__@69.157.237.111] Come watch me on my webcam and chat /w me :-) http://69.157.237.111:4072/me.mpg
----- silence for 27 minutes ----- [04:58] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) left irc: Read error: 60 (Operation timed out)
[05:13] Fade (~fade@outrider.deepsky.com) joined #pypy.
----- silence for 34 minutes ----- [05:47] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) joined #pypy.
----- silence for 18 minutes ----- [06:05] idnar (mithrandi@idnar.user) left irc: Operation timed out
----- silence for 42 minutes ----- [06:47] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) left irc: Read error: 60 (Operation timed out)
----- silence for 1 hr and 4 minutes ----- [07:51] idnar (mithy@idnar.user) joined #pypy.
----- silence for 34 minutes ----- [08:25] adim (~adim@logilab.net2.nerim.net) joined #pypy.
----- silence for 2 hr and 44 minutes ----- [11:09] stakkars (~tismer@82.144.60.19) joined #pypy.
----- silence for 59 minutes ----- [12:08] arigo (~arigo@vicky.ecs.soton.ac.uk) joined #pypy.
----- silence for 25 minutes ----- [12:33] arigo (~arigo@vicky.ecs.soton.ac.uk) left irc: "leaving"
[12:44] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) joined #pypy.
[12:54] <stakkars> if some annotator guru reads this:
[12:55] <stakkars> maybe we have some error atline 186 of binaryop.py?
[12:55] <stakkars> def union((tup1, tup2)):
[12:55] <stakkars> if len(tup1.items) != len(tup2.items):
[12:55] <stakkars> return SomeObject()
[12:56] <stakkars> I think this is a bit big of a union, to completely trash the tuple-ness?
[13:01] pedronis (~Samuele_P@c-298b70d5.022-54-67626719.cust.bredbandsbolaget.se) joined #pypy.
----- silence for 20 minutes ----- [13:21] pedronis (~Samuele_P@c-298b70d5.022-54-67626719.cust.bredbandsbolaget.se) left irc: "Chatzilla 0.9.66 [Mozilla rv:1.7.5/20041107]"
[13:35] arigo (~arigo@d213-103-147-153.cust.tele2.ch) joined #pypy.
----- silence for 32 minutes ----- [14:07] arigo_ (~arigo@vicky.ecs.soton.ac.uk) joined #pypy.
[14:08] arigo (~arigo@d213-103-147-153.cust.tele2.ch) left irc: Nick collision from services.
[14:08] Nick change: arigo_ -> arigo
[14:18] mwh2 (~user@modem-170.erendis.dialup.pol.co.uk) joined #pypy.
[14:20] <stakkars> hi armin
[14:20] pedronis (pedronis@ratthing-b246.strakt.com) joined #pypy.
[14:20] <arigo> hi!
[14:21] <stakkars> in annotator, binaryop, union(tup1, tup2):
[14:21] <stakkars> why do we return SomeObject(), when the lengths don'tmatch?
[14:21] <stakkars> that leads to a lot of SomeObjects I think
[14:22] <arigo> SomeTuple is only for tuples of known length
[14:22] <mwh2> arigo: i've just attached something completely over the top and fairly silly to our favourite bug
[14:22] <stakkars> ah, I see
[14:23] <pedronis> is not that useful to know that something is just a tuple
[14:23] <pedronis> without info about the lenght and types
[14:24] <pedronis> in translate_pypy0 there was just one case where that code played a role
[14:24] <pedronis> with the constructor of Exception that set .args to the arguments tuple
[14:25] <pedronis> it was easy enough to make the construction uniform
[14:26] <stakkars> at least it tells about sequence-ness.
[14:26] <stakkars> I just wondered if this would influence the various places where we have an arg tuple.
[14:27] <stakkars> and it was misleading since dicts are merged without considering lengths.
[14:28] <pedronis> but we usually use lists for that kind of code
[14:28] <pedronis> for example Arguments takes lists
[14:28] <pedronis> in fact there was one place were a tuple was passed directly and that was a problem
[14:30] <stakkars> I see. I had annotation of appspace programs in mind, which is not the topic, but could be considered, too.
[14:32] <mwh2> i think that's for next year...
[14:34] <pedronis> stakkars: tuple in python sense and rpython sense are different beasts
[14:35] <arigo> mwh2: nice theorem
[14:35] <arigo> mwh2: but obviously, my doubts are also about the sanity of solid_base and the partial order relation in typeobject.c
[14:36] <mwh2> arigo: well, yes
[14:36] <mwh2> it's a start
[14:36] <arigo> I guess it shows how typeobject.c ought to be fixed
[14:39] <mwh2> i'd also like to extend this to work out more accurately when __base__ assignment is safe
[14:39] <mwh2> __bases__, rather
[14:40] <arigo> I see
[14:40] <mwh2> do you think that rewriting chunks of typeobject.c is the way forward?
[14:41] <arigo> hum
[14:41] <arigo> probably
[14:42] <stakkars> already a pretty complicated beast.
[14:42] <mwh2> or at least some selective renaming
[14:42] <mwh2> well, right now i don't think *anyone* really knows what's going on
[14:42] <mwh2> not even guido
[14:43] <mwh2> if we get to the point where me and arigo have a clue what's going on, that's progress :)
[14:43] <stakkars> I think I did, for a while, when porting stackless, and I had to hack on this. :)
[14:43] <arigo> I guess there is only some collective knowledge left, i.e. if we put any 3 of {samuele, you, guido, tim, me} together they can work it out :-)
[14:43] <mwh2> i think i understand bits and pieces of it
[14:44] <arigo> tah, set.update({stackkars})
[14:44] <mwh2> stakkars: def sc(*types): return type('', types, {})
[14:44] <mwh2> sc(sc(str), sc(str)) fails
[14:45] <pedronis> btw, I think it probably works with the new Jython new-style classes
[14:46] <mwh2> pedronis: does jython have this 'variable length type' concept?
[14:46] <mwh2> that's where this problem lies
[14:46] <stakkars> mwh2: is this true for 2.4, or 2.3 also?
[14:46] <pedronis> no, that's why I was probably able
[14:47] <stakkars> i.e. do I need to look into 2.4?
[14:47] <pedronis> to use a far simpler model
[14:47] <mwh2> stakkars: i think this is 2.2 onwards, but i'm not sure
[14:47] <stakkars> ok, 2.3 barfs
[14:47] <mwh2> i think arigo found the problem, too
[14:48] <mwh2> some ordering problem in extra_ivars
[14:48] <mwh2> but it's all a bit headache inducing
[14:49] <pedronis> of course it works in PyPy too at the moment
[14:49] <mwh2> i think i like the idea of this 'layout compatiblity' concept
[14:50] <mwh2> then we can define what's allowed in terms of that
[14:50] <mwh2> and hopefully prove an algorithm for determining it
[14:50] <mwh2> and also prove that it really means what it claims to mean
[14:50] <mwh2> divide & conquer
[14:51] <pedronis> whta's the bug number again?
[14:51] <stakkars> yes, it's extra_ivars, I think, which recognizes an extra dict, therefore solid_base returns the type and not the base.
[14:52] <mwh2> pedronis: 1153075
[14:52] <arigo> is there a case where tp_dictoffset < -4 ?
[14:52] <arigo> (i.e. in variable-length types, can the dict possibly not be at the very end?)
[14:53] <stakkars> might depend on weak-ref
[14:53] <arigo> you can't weakref any subclass of var-length type
[14:54] <stakkars> yes, but could use the same trick
[14:54] <mwh2> arigo: yeah, when sizeof(PyObject*) != 4 :)
[14:54] <arigo> mwh2: well yes but :-)
[14:55] <mwh2> no, bascially
[14:55] <mwh2> in general, i don't really see a reason why you can't do the offset < 0 => count from the end with *all* slots
[14:56] <mwh2> tp_weaklistoffset and user defined slots
[14:56] <mwh2> istm it would be more consistent
[14:59] <arigo> definitely
[14:59] <mwh2> can you print this conversation out, roll it up and beat guido over the head with it at pycon? :)
[14:59] <arigo> combined with a clean-up, this would be worth a larger typeobject.c patch
[14:59] <arigo> :-)
[15:00] <mwh2> oh sure
[15:00] <mwh2> but i'd still like to check my patch in
[15:01] <mwh2> maybe without the subtle
[15:01] <mwh2> if (!PyType_IsSubtype(solid, solid_base(t))) {
[15:01] <mwh2>
[15:01] <mwh2> bit, though
[15:02] <arigo> makes sense
[15:03] <mwh2> the subtle bit "seems to be right", but...
[15:03] <arigo> it should go in 2.4 maint, but we should make it fully correct before 2.5, ideally
[15:05] <mwh2> well, the "unsubtle bit" is surely safe
[15:05] <arigo> sure, the problem is about breaking user code that seems to work now
[15:05] <mwh2> should check with anthony, of course
[15:06] Action: mwh2 hits sf with a well-worn stick
[15:13] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) left irc: "Leaving"
[15:19] dialtone (~dialtone@host116-56.pool80117.interbusiness.it) joined #pypy.
----- silence for 18 minutes ----- [15:37] mwh2 (~user@modem-170.erendis.dialup.pol.co.uk) left irc: "wanders off"
[15:44] <pedronis> hpk: ?
[15:48] Continuity (~kittish@host81-155-190-218.range81-155.btcentralplus.com) joined #pypy.
[15:52] <stakkars> I'm asking myself if sc(sc(str), sc(str)) *should* work, or what is the criteria.
[15:52] <stakkars> It would mean to merge __dict__ as a special rule,right?
[15:54] <arigo> well,
[15:54] <arigo> sc(sc(object), sc(object)) works
[15:54] <arigo> the same rule (merge the __dict__) should just apply.
[15:54] <stakkars> aaaarghh
[15:56] <pedronis> sc(sc(dict),sc(dict)) works too
[15:56] <arigo> sure
[15:56] <arigo> it works for everything apart from variable-sized types
[15:56] <stakkars> that's of course bad.
[15:57] <stakkars> so we needto handle the variable-sized thiongs once and forever
[15:59] <stakkars> well, in Stackless python, sc(sc(type), sc(type)) works! ;-)
[16:00] <stakkars> I special-cased that, because I wanted slots in types.
[16:01] <stakkars> was a bit bind-boggling, because the types *has* slots, which it *produces* on its instance, another type...
[16:02] <stakkars> aehhh, and in regular Python, too. Huh? Types *are* var-sized.
[16:02] Jerub (~gideon@CPE-203-45-251-238.qld.bigpond.net.au) joined #pypy.
[16:03] <Jerub> hi, I've been playing with pyrex, and the demo in the howtopypy page doesn't work with pyrex.
[16:04] <Jerub> print Translator(test.is_perfect_number).pyrex() has this as line 3:
[16:04] <Jerub> cdef int is_perfect_number__-4854089c(int i_n_1):
[16:04] <Jerub> that looks like an int overflow bug to me.
[16:07] <Jerub> anyway, goodnight.
[16:11] <arigo> Jerub: oops, thanks
[16:12] <arigo> I guess it's a bug that only show up on specific platforms
[16:14] <arigo> fixed, thanks for the report
----- silence for 30 minutes ----- [16:44] idnar (mithy@idnar.user) left irc: "kbye"
[16:55] faassen (~faassen@213.56.215.195) joined #pypy.
[16:55] <faassen> is codespeak svn down?
[16:58] <arigo> faassen: seems so
[16:58] Action: arigo restarts it
[16:59] <faassen> thanks.
[16:59] <arigo> ah, it's up again
[16:59] <arigo> I didn't restart it myself
[17:06] <faassen> ah, okay.
[17:07] <faassen> hm, if the svn password the same as the login you have to the machine or something else?
[17:07] <faassen> I so infrequently need it i keep forgetting.
[17:07] _hannes (~yuuhu@i528C13CA.versanet.de) joined #pypy.
[17:08] <arigo> it's the same one
[17:21] <faassen> thanks, it works. :)
----- silence for 28 minutes ----- [17:49] pedronis (pedronis@ratthing-b246.strakt.com) left irc: "ChatZilla 0.9.61 [Mozilla rv:1.7.3/20041007]"
[17:52] pedronis (pedronis@ratthing-b246.strakt.com) joined #pypy.
[17:57] Jerub (~gideon@CPE-203-45-251-238.qld.bigpond.net.au) got netsplit.
[17:57] jacob22 (jacob@enzo.strakt.com) got netsplit.
[17:58] Jerub (~gideon@CPE-203-45-251-238.qld.bigpond.net.au) returned to #pypy.
[17:59] arigo (~arigo@vicky.ecs.soton.ac.uk) left irc: "bye"
[18:02] idnar (mithrandi@idnar.user) joined #pypy.
[18:03] jacob22 (jacob@enzo.strakt.com) got lost in the net-split.
[18:10] jacob22 (jacob@62.119.131.75) joined #pypy.
----- silence for 27 minutes ----- [18:37] adim (adim@logilab.net2.nerim.net) left #pypy.
----- silence for 44 minutes ----- [19:21] _hannes (~yuuhu@i528C13CA.versanet.de) got netsplit.
[19:21] mwh (~user@pc150.maths.bris.ac.uk) got netsplit.
[19:24] mwh2 (~user@modem-15.erendis.dialup.pol.co.uk) joined #pypy.
[19:25] <mwh2> ok, typeobject.c quiz question of the evening!
[19:26] <mwh2> why do compatible_for_assignment and solid_base use apparently entirely different algorithms?
[19:26] _hannes (~yuuhu@i528C13CA.versanet.de) returned to #pypy.
[19:26] mwh (~user@pc150.maths.bris.ac.uk) returned to #pypy.
[19:29] mwh (~user@pc150.maths.bris.ac.uk) got netsplit.
[19:29] _hannes (~yuuhu@i528C13CA.versanet.de) got netsplit.
[19:30] mwh (~user@pc150.maths.bris.ac.uk) returned to #pypy.
[19:32] <pedronis> mwh: did you do __bases__ assigment or also __class__?
[19:32] faassen (~faassen@213.56.215.195) left irc: "Download Gaim: http://gaim.sourceforge.net/"
[19:35] _hannes (~yuuhu@i528C13CA.versanet.de) got lost in the net-split.
[19:39] mwh (~user@pc150.maths.bris.ac.uk) got netsplit.
[19:40] mwh (~user@pc150.maths.bris.ac.uk) returned to #pypy.
[19:44] <mwh2> i just did __bases__
[19:47] <pedronis> I see
[19:47] <mwh2> and that's wrong too, probably
[19:47] <mwh2> well
[19:47] <mwh2> it's over-restrictive
[19:49] <pedronis> well, yes it would make sense to have onyl one approach
[19:52] mwh2 (~user@modem-15.erendis.dialup.pol.co.uk) left irc: "gotta go"
[19:54] Action: pedronis leaving the office
[19:54] pedronis (pedronis@ratthing-b246.strakt.com) left irc: "ChatZilla 0.9.61 [Mozilla rv:1.7.3/20041007]"
[19:59] -lilo (lilo@levin-pdpc.staff.freenode) to $*- [Global Notice] Hi all. We're experiencing some issues with network availability due to kiddie challenge. Will keep you posted.
[20:00] mwh (~user@pc150.maths.bris.ac.uk) got netsplit.
[20:06] mwh (~user@pc150.maths.bris.ac.uk) got lost in the net-split.
----- silence for 22 minutes ----- [20:28] -lilo (lilo@levin-pdpc.staff.freenode) to $*- [Global Notice] We're doing some cleanup and at some point will allow new connects again. Thanks for your patience.
[20:43] -lilo (lilo@levin-pdpc.staff.freenode) to $*- [Global Notice] Hi folks. New connect access to the network is available intermittently. Further detail will be provided from time to time via wallops ( http://freenode.net/faq.shtml#networkinfo ) .... thanks!
[20:58] -lilo (lilo@levin-pdpc.staff.freenode) to $*- [Global Notice] Hi all. If you're running a FOSS project on freenode with economic impact, please take the time to make sure that your project and its sponsoring corporate or not-for-profit entities fill out a freenode group registration ( http://freenode.net/group_registration.shtml ). Your assistance can help us prepare economic loss estimates for law enforcement authorities when the network is attacked. Thanks.
----- silence for 21 minutes ----- [21:19] stakkars (~tismer@82.144.60.19) left irc: Read error: 110 (Connection timed out)
[21:24] _hannes (~yuuhu@i528C1802.versanet.de) joined #pypy.
----- silence for 1 hr and 51 minutes ----- [23:15] idnar (mithrandi@idnar.user) left irc: "nite all"
----- silence for 25 minutes ----- [23:40] idnar (mithrandi@idnar.user) joined #pypy.
[00:00] --- Wed Mar 16 2005