mys-lang / mys

The Mys programming language - an attempt to create a statically typed Python-like language that produces fast binaries. See https://mys-lang.org for more information.
Other
132 stars 5 forks source link

general question about mys #4

Closed mpage38 closed 4 years ago

mpage38 commented 4 years ago

Just by curiosity: why didn't you choose to transpile PEP 484 'typed' python to Cython ? My point is: python is not just python in the sense that there are many python, cython, C, C++ libraries in the python ecosystem. It will be difficult to deal with this, using your C++ transpilation approach, I think

eerimoq commented 4 years ago

Yeah, I know. Not being compatible with CPython makes most, if not all, third party packages unusable. Python's standard library has to be re-implemented as well. So far my approach is to create a lean and reasonably efficient (in terms of RAM and CPU) language, and at the same time keep it as easy to read and write as Python. Mys is mainly targets embedded systems. It's not always possible to run the CPython interpreter on those systems. Also, the plan is to allow executing threads in parallel. That is, no GIL. I'm of course not sure that the transpiled code will perform better than CPython, but that's the goal.

Btw, mypyc look promising to make Python modules faster. I think that is a good match for appliactions that uses the CPython interpreter and need better performance. PyPy is of course also an option.

mpage38 commented 4 years ago

I see. It might be a good idea to add a "Rationale" section in the readme of your project containing the last part of your first paragraph above.

eerimoq commented 4 years ago

I added a very short rationale in the readme. Thanks =)