-
Notifications
You must be signed in to change notification settings - Fork 20
Support for python3.8 #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Shouldn't actually be all that hard...looks like there are only two major changes:
Not sure what's up with A bigger problem is that dg is way behind on features, e.g. string interpolation and parameter/return annotations.
There's no point in doing that, yeah. Once the compiler supports 3.8, a new bundle for it can be generated by running on 3.7 with |
SETUP_LOOP got removed in 3.8, and was always redundant anyway. See #47
Heh, I looked through the current version of ceval.c and not only |
Anyone who wants to implement the desired changes to fix that issue so the language can continue to live? Version restriction is killing it. If someone interested, please ping me and we can brainstorm and solve it. Thank you. |
I did spend a couple weeks trying to convert https://github.com/pbsds/dg/tree/transpiler I stopped near close to the end when i realized i had to resort to litter the closures with lots of intermediate variables to ensure correct execution order. This is not transparent to the program, as these hidden variables will show up when calling Since i stopped, the python AST has in preparation of PEP-638 gotten some features that could make the transpilation work better, but i believe a better approach would be to adapt the current tokenizer and parser to work as a frontend to |
I have two options here to continue;
What would you suggest me, @pbsds? |
This is ultimately an exercise you'll most likely be doing, go for the direction you find interesting. |
Thanks for your comment! I will inform you fellas here when I decide. |
Someone on lobste.rs linked to this: https://github.com/rocky/python-xasm, might be viable? |
Hmm, I really wanna do this. But I cannot proceed further because I need to gather my goals. If I took this language and get back to the design phase, I need to write at least 2 paper over it. Dg over semantic perspective and a short comparative analysis with Dg and Python. I will be decided in next two weeks. I'm distracted enough until then. |
Obviously, I decided not do it. But I still open to discuss and communicate about the language. Feel free to write to me! 🙋🏻♂️ |
This seems like this is a very hard transition.
They have changed the signature of
types.CodeType
, adding an extra positional argument calledposonlyargcount
.Accounting for this is easy, but they have also made drastic changes to the bytecode format, making it difficult to translate the existing bundled bytecode.
My diff so far accounting for the `posonlyargcount` arg in CodeType
I tried my hand at using decompyle3, but in my attempts it failed parsing any dogelang bytecode from python 3.7.
If my understanding of the dg compiler is correct, it compiles directly to bytecode, making the current implementation not work on py3.8+ anyway.
The text was updated successfully, but these errors were encountered: