Python's features coverage list #634
Replies: 6 comments 4 replies
-
Is this OK as a starting point? https://docs.modular.com/mojo/roadmap.html |
Beta Was this translation helpful? Give feedback.
-
I think this is very much needed. A fair number of questions could be resolved by pointing people to some kind of Not Yet Implemented checklist. Another somewhat related problem, is that if you only read the main blurb on mojo, it's easy to assume that Mojo is already fully source compatible with python. Examples from https://www.modular.com/mojo:
No mention that mojo isn't fully python compatible...let's keep reading
Still nothing yet...
Also no mention of limitations...
Oof, this makes it sound like mojo is already 100% compatible. Seamlessly intermix....your custom code and true interoperability gives no hint that mojo is not source compatible with python.
This is the only briefest of hints that maybe mojo isn't 100% compatible yet, and there's still work to be done. Unless you read the python compatibility section in the Why Mojo link, the python integration section of the Programming Manual and pretty much the entire Roadmap and Rough Edges doc, casual experimenters will be puzzled why things don't work, and may get discouraged. Especially if they don't know how much is or isn't completed, and what the priorities are to make mojo a true superset of python |
Beta Was this translation helpful? Give feedback.
-
Agree this is a great idea and we'll work to figure out how to put something together soon. Appreciate the feedback 👍🏼 |
Beta Was this translation helpful? Give feedback.
-
Can I Use is a good reference. |
Beta Was this translation helpful? Give feedback.
-
It's a bigger project, but a comprehensive test suite with all the Python syntax possibilities and with a go/no-go flag that is exported to a web page is one option. Makes it easy to catch regressions during development, too. I actually took a look at the CPython unit tests to run them as mojo tests, but many of them had class-based constructs so that needs to be in place in mojo first. But as a bonus mojo could then track the evolving CPython unit test suite in future with CPython changes. |
Beta Was this translation helpful? Give feedback.
-
Fo using the CPython unit tests, one good option is to write a converter tool as there will be future CPython versions anyway. I will take a look, but as mentioned I think most of those required a class so that's one hurdle. |
Beta Was this translation helpful? Give feedback.
-
What's the problem
First of all - I really enjoy playing in Mojo right now. But only "playing" for now.
I really want to use Mojo in production, but there is nothing in Mojo's documentation about "How many of Python's features we have so far" and this is really annoying, because Mojo is trying to be a "super-set" - so I can just Copy-Paste half of my project and it should works perfectly.
I know that some of the features isn't made yet, team is targeted on Mojo more, than on Python and this is really good - I respect that
But knowing what Mojo is able to do in Pythonic way is also important.
For example, I've tried to do the simple thing - f-string (
f'hello {name}'
) and got an error. I've started to look in Issues forf-strings
to know if it's implemented or not, and found nothing so far, only a few poor guys like me.How others solved that
As an average Apple M1 enjoyer and Pytorch fan, I've subscribed to General MPS op coverage tracking issue and now I can track what can I do on my MacBook and what I can not. This is so helpfull when you trying to understand why this particular part doesn't work (only because its not ready yet). You know that it doesn't work only for a short time and this feature is will be implemented soon. You know that developers knows about that.
What am I asking you
It would be really great if you guys create some roadmap of Python's features that have been implemented in Mojo and what is not (and maybe would never be implemented?).
It can be really anything - from GitHub issue to standalone page in Mojo's docs (like "Coming from Python" page). I want to press
Ctrl + F
and typef-strings
to find out that it's still under development.Thank you, guys! You've made a great job!
Beta Was this translation helpful? Give feedback.
All reactions