Closed HowardMei closed 9 years ago
The current plan actually seems to be pretty close to what you are proposing --- but the roadmap on the web site is not quite up-to-date. The only big thing currently missing from the plans seems to be the DSL part. That's also something I've looked into, but I haven't written about it as I don't have any particular approach in mind yet.
Here are some thoughts:
I've been planning to write a blog post detailing my current ideas, but I've been too busy recently.
Please ask if you want to know more about the details.
Hi Jukkal, Thank you for the update. Your ambition is really adorable. I'm very excited to see these features are in your roadmap. DSL is not a problem if mypy support a flexible parsing/compiling scheme.
I can't agree more with your point 1. It's really hard. A tracing garbage collector like Java can definitely improve the performance at the cost of memory. IMO, the usage of multithreading can be narrowed down for data crunchers only. Let message passing and coroutines handle all other concurrent tasks. Performance of CPU/MEM-bound jobs might also be boosted by using TCMalloc, or the way like http://code.google.com/p/numexpr/wiki/MultiThreadVM.
Anyway, this is really a painful tradeoff. Maybe it's too greedy to ask for built-in solution for low memory embedded system. Also, the introduction of all these concurrency models in native level may inevitably break the compatibility of mypy with python, which I have no idea how important to you. Though I'd like to suggest you let pypy take that legacy burden. Full speed to the future is more enjoyable, bro :-)
It'll be very nice to read your detailed ideas when you have time to post. Best Regards.
I guess this can be closed?
Yeah, this is no longer relevant.
Hi Jukkal,
Have you heard about software defined network (SDN) and multiple ARM core cluster server?
From the roadmap of mypy, it seems you're more interested in another general purpose implementation for python like pypy, which is interesting but might constrain the practical use of this project due to the burden of supporting vast legacy python code. Pypy team takes years' of effort to scratch the surface of the problem.
Do you have any intention of creating a python compatible/flavored DSL language to combine the elegance of python, the multi-core concurrency of Erlang and the type safety and many goodness of Haskell? It could be a killer language in my opinion :)
Why do we need above features in mypy more than others, like JVM/iOS/Android support?
It would be exciting to see a brand new Python implementation to supersede Erlang for next generation concurrent computing !
Best Regards.