<mattip> hmm. The code paths are very different in cython. How close is that PR to being merged and released?
<mattip> will there be something like "#ifdef HPY_SUPPORTS_PEP489" ?
<antocuni> mattip: unless there is a good reason to do the opposite, I am +1 to always use multiphase initialization in HPy
<antocuni> I don't understand the question about HPY_SUPPORTS_PEP489
<mattip> probably I don't understand what multiphase actually means
<mattip> right now, static HPy init_simple_impl(HPyContext *ctx) calls HPyModule_Create(ctx, &moduledef);
<mattip> which returns ctx_Module_Create(ctx, mdef);
<antocuni> yes
<mattip> which creates a PyModuleDef, sets up the fields and calls PyModule_Create
<antocuni> on CPython, yes
<antocuni> on pypy it creates the module in its own way of course
<mattip> let's stick with cpython for now
<antocuni> ok
<mattip> cython does something different
<mattip> I think, it is very confusing with all the ifdefs
<antocuni> all the ifdefs inside the cython-generated code?
<mattip> yes
<antocuni> yes, cython generated code is a mess :(
<mattip> so it seems cython wants to do that all itself, so I need to bypass much of what cython does and call HPyModule_Create()
<antocuni> yes
<mattip> (I need to build the moduledef, but that is a side issue)
<mattip> what will happen if there is multiphase module creation?
<antocuni> if you compile with -DHPY, you need to build an HPyModuleDef which is potentially very different than the PyModuleDef which cython generates now
<antocuni> so I think it's much easier to generate a completely different code path
<mattip> do I still call HPyModule_Create() ?
<antocuni> good question
<antocuni> I don't know and didn't think about it too much
<antocuni> I think that Hodgestar have some insight
<mattip> so that is what I was trying to figure out, and also to figure out how I can differentiate between future HPy and current HPy
<antocuni> I seem to remember he found some problems while working on his PR but I don't remember much
<mattip> if HPyModule_Create is no longer the right thing to do, I will need some kind of signal
<mattip> to differentiate between the two versions of HPy
<antocuni> I think there is no need to differentiate between hpy versions
<antocuni> the moment in which we decide to kill HPyModule_Create in favor of something else, you can just drop support from your cython backend
<antocuni> no need to target multiple hpy versions at this point
<antocuni> since we are still changing the API a lot
<mattip> huh?
<mattip> the generated C code will be out in the wild, and will stop working
<antocuni> as will do the manually written C code
<antocuni> that's the point of having an alpha status, so that we can break the world and people cannot complain :)
<mattip> ok
<antocuni> I don't think that your cython branch will be merged any time soon anyway, won't it?
<antocuni> i.e., there is little change that people will distribute hpy-compatible cython-generated code "by chance" without knowing what they are doing
<mattip> right. OTOH that reduces the chances cython will merge it at all until HPy has a stable API
<mattip> so we will only get people to try it off some fork of cython
<mattip> which does not build momentum for HPy adoption
<antocuni> that's true
<antocuni> but honestly, HPy is not really ready to be adopted anyway
<mattip> chicken and egg
<antocuni> at some point we need to decided to declare the API as stable and try hard not to break it, but I think we are not there yet
<antocuni> mattip: in the logs there is some discussion about PEP 489 if you want to read it: https://freenode.logbot.info/hpy/20210312
* Hodgestar catches up. Having the ISP I'm attached to down for 24+ hours was a bit annoying. :)
<antocuni> and also in the next days, up to 2021-03-17 according to my logs
<Hodgestar> mattip: My plan was to make HPy always use multi-phase initialization. I started https://github.com/hpyproject/hpy/pull/184 but haven't had time to finish it yet.
<Hodgestar> Let me see how hard it is to merge master into that.
<Hodgestar> mattip: Merging was fairly easy. The branch is still a WIP, but at least the merge conflicts are gone.
jboi has quit [Ping timeout: 244 seconds]
antocuni has quit [*.net *.split]
pjenvey has quit [*.net *.split]
ammar2 has quit [*.net *.split]
pjenvey has joined #hpy
ammar2 has joined #hpy
antocuni has joined #hpy
ammar2 has quit [Ping timeout: 265 seconds]
ammar2 has joined #hpy
computerfarmer has joined #hpy
computerfarmer has quit [Ping timeout: 272 seconds]
jboi has joined #hpy
computerfarmer has joined #hpy
jboi has quit [Quit: node-irc says goodbye]
computerfarmer has quit [Read error: Connection reset by peer]
jboi has joined #hpy
computerfarmer has joined #hpy
computerfarmer has quit [Ping timeout: 272 seconds]
computerfarmer has joined #hpy
computerfarmer has quit [Quit: Konversation terminated!]