> Seems I am here at the NekoVM mailing list, because as far as I know, it > is the VM that is closest in design goals to this idea I have. I am also > thinking that perhaps others have already explored this idea? > > -- > Neko : One VM to run them all > (http://nekovm.org)
Parrot already runs them all: http://www.parrot.org/languages So what is the niche or advantage of NekoVM? Parrot's design targets flexible implementation for complex dynamic language types via Polymorphic Containers (PMC): http://en.wikipedia.org/w/index.php?title=Parrot_virtual_machine&oldid=337439138#Registers http://docs.parrot.org/parrot/latest/html/docs/intro.pod.html http://docs.parrot.org/parrot/latest/html/docs/overview.pod.html http://docs.parrot.org/parrot/latest/html/docs/pdds/pdd17_pmc.pod.html http://docs.parrot.org/parrot/latest/html/ The design priority for Parrot seems to be to maximize the dynamic flexibility and performance. There seems to be no priority design focus on interoperability between languages? Nor any priority design focus on the performance of interoperability with native C code? At the next level of dynamic abstraction, there is the very complex PyPy. One will be able to target running dynamic languages on say .Net. But without cross-language interoperability, I do not see the point of all that effort? Thus the niche of my idea seems to be unaddressed by the list of VMs I provided in my opening post? I re-iterate that for fast code, one should be doing profiling and coding only the critical portions in C code. Dynamic languages are most justified for programming efficiency where execution speed is not critical, i.e. 10 - 20% of your code ends up as C code and the rest as dynamic code. There is no purely dynamic holy grail that will eliminate that reality, so why has no one accommodated the maximum interoperability for the reality that exists (the need for some native C code for performance and binary data formats)? Or am I missing something? For example, EMCA/JavaScript should be able to alter the pixels in image data, I have only been waiting a decade for something that I could do back in early 1980s. Also I think that like HaXe, I should have the option with dynamic languages to statically type. Thus, I should be able to interopt with C code or other dynamic languages, optionally via static interface declarations, with binary interoperability on the C code for speed and logical (virtual) dynamic data type interoperability via the VM abstraction. Wouldn't this be the niche that NekoVM was aiming for? I envision for example much better online games, supported by much better code re-use and interoperability to hand coded C and assembly for critical perfomance sections. And this is a huge market, refer back to links about China social networks my first post. Facebook is just starting to jump on this. If no one here is interested, can anyone point me to a discussion list or venue where I could get some more interaction and feedback? Thank you. -- Neko : One VM to run them all (http://nekovm.org)
