Python on JavaScript VM's (such as V8)?

lkcl luke.leighton at googlemail.com
Thu Oct 2 08:06:50 EDT 2008


On Sep 3, 10:02 pm, bearophileH... at lycos.com wrote:
> Berco Beute:
>
> > I wonder what it would take to implement Python in JavaScript so it

 it's been done.  http://pyjamas.sf.net

> > can run on those fancy new JavaScript VM's such as Chrome's V8 or


 that's been done, too.

 http://advogato.org/article/985.html

> > Firefox' tracemonkey. Much the same as Python implementations in C#
> > (IronPython) and Java (Jython). It would certainly bring back the fun
> > in web application development.

 it's great :)  been using it just for fun, for about 18 months.
    http://lkcl.net/site_code
 and for a personal project
    http://partyliveonline.com
 and for a commercial project which i'm sorry i can't refer you to the
development site right now.


> Is there anything done in that direction?

 yup.  quite a lot.
 see http://groups.google.com/groups/pyjamas-dev

> The mythical beast pypy is supposed able to translate Python to
> Javascript too, I think. From some of my benchmarks Chrome's V8 is a
> little slower than Psyco... so the matter is how much efficiently can
> be Python translated in JS.

 well, the llpamies pyjamas branch from sep 2007 has some definite
improvements in the _features_ provided (python-wise) but some time
after that, one too many interoperability features were added (proper
support for **kwargs) and it just... blew up, got too complicated for
luiz and he abandoned the effort.

 i've outlined on pyjamas-dev what work needs to be done to satisfy
both goals of remaining efficient and also providing support for
**kwargs.

 one _much_ more important requirement - over-and-above
"efficiency" (which isn't that bad anyway in pyjs.py) is readability.

 remember you have to _debug_ these xxxxing programs .... in
javascript, not python (which is why i did pyjamas-desktop - http://pyjd.sf.net
so you could keep on using the standard python interpreter and _then_
run the same app through pyjs.py to convert it to javascript).

 l.



More information about the Python-list mailing list