_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
dalley has quit [Quit: Leaving]
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<mattip> could a channel operator kick _0az3 ? The constant "quit after 15 minutes"/"join" cycling is annoying
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<mattip> there is an hpy_tpye_legacy test that adding a tp_dealloc function in a legacy_slot works
<mattip> but I think that should fail in universal mode: there is no HPy_dealloc slot
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<antocuni> mattip: the test is correct
<antocuni> don't make confusion between "universal ABI" and "pure HPy types"
<mattip> so in order for that test to work, pypy needs to be able to convert a hpy handle into a PyObject internally
<antocuni> a custom type can be pure or legacy (if it uses .legacy_slots and/or .legacy_methods)
<antocuni> and when you compile and HPy module you can target the universal ABI o the CPython ABI, but that's orthogonal
<antocuni> mattip: yes, and if I remember correctly, this has not been implemented yet
<antocuni> and it's hard
<mattip> ahh
<antocuni> I think that the plan is to detect at module-loading time whether a type is pure or legacy. If it's legacy, it will be implemented using e.g. W_HPyObjectLegacy (which does not exists yet), which will inherit for e.g. W_BaseCPyObject
<antocuni> I thought there was already some conversation about this, but I don't remember whether it is on github issues, pypy issues or on IRC
<antocuni> and I cannot find it
<mattip> OK. That will come with the cpyext performance penalty, since we will have to create the shadow cpyext object
<antocuni> yes
<antocuni> but that's fine because we will have the penalty only for legacy types
<antocuni> pure types will be faster, which is also an incentive to complete the porting
<antocuni> mattip: if you are looking for some low hanging fruits in the hpy-0.0.4 branch, I think that there are tests failing about exceptions
<antocuni> which should be easy, but I didn't investigate
<mattip> I think it is done
<antocuni> ah cool
<mattip> d15ce3843d6e and friends
<antocuni> ah then probably this means that the only thing left is support for legacy types
_0az3 has quit [Remote host closed the connection]
<mattip> seems so, at least for own tests https://buildbot.pypy.org/summary?branch=hpy-0.0.4
<antocuni> do you plan to work on it today? I am having lunch now, but I'll be back in ~45 minutes
_0az3 has joined #hpy
<mattip> we could pair up later, sure
<mattip> if you have time
<mattip> maybe I was optimistic about exceptions, extra_tests/hpy_tests/_vendored/test_hpyerr.py crashes
<antocuni> ok, let's pair later
<antocuni> re exceptions: do the tests pass untranslated?
<mattip> yes
<mattip> "legacy_slots" is not mentioned in the documentation
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<antocuni> mattip: yes, our docs are bad :(
<mattip> right, but that mixes implementaion detaisl (aobut PyObject_HEAD) with porting details ("you can use `legacy_slots` in the spec specification to do ..."
<mattip> )
<antocuni> I don't understand
<antocuni> PyObject_HEAD is not an implementation detail
<antocuni> if you are writing a legacy type, you MUST put PyObject_HEAD in your C struct
_0az3 has quit [Remote host closed the connection]
<mattip> In the tests, there is a lot of meta-programming, which hides the C struct. So all I see is
_0az3 has joined #hpy
<mattip> static HPyType_Spec Point_spec = {... .legacy_slots = ... }
<antocuni> yes I agree, those tests are very hard to read
<antocuni> here we talked about possible solutions, but then we didn't do anything to actually improve them
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<Hodgestar> Another possible sprint topic is to look at porting nanobind to HPy.
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<mattip> it might be nice to take a quick look, but I fear spreading out too thin
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
Techcable has quit [Remote host closed the connection]
Techcable has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
<Hodgestar> Agreed.\
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Read error: Connection reset by peer]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy
_0az3 has quit [Remote host closed the connection]
_0az3 has joined #hpy