Re: pyjamas pyv8run converts python to javascript, executes under command-line
>> >> the pyjamas project is taking a slightly different approach to achieve >> >> this same goal: beat the stuffing out of the pyjamas compiler, rather >> >> than hand-write such large sections of code in pure javascript, and >> >> double-run regression tests (once as python, second time converted to >> >> javascript under pyv8run, d8 or spidermonkey). >> >> >> anyway, just thought there might be people who would be intrigued (or >> >> horrified enough to care what's being done in the name of computer >> >> science) by either of these projects. >> >> > I've added pyjamas to the implementations page on the Python Wiki in >> > the compilers section: >> >> >http://wiki.python.org/moin/implementation >> >> In what way is pyjamas a python implementation? As far as I know >> pyjamas is an application written in python that is capable of >> generating javascript code. > > it's strictly speaking, according to wikipedia, a "language > translator". Yep, this sounds more like what I originally had in mind. But if people insist on calling it a python implementation, it's fine by me :) Cheers, Daniel > i'm just in the process of adding an AST parser (based > on lib2to3, from sgraham's work in skulpt) which will become the basis > of an "exec" function, just like in the skulpt demo. > > also to answer your question: pyjamas has [roughly] two modes: -O and > --strict. "-O" is the one where you have to write in a subset of > python, and you can (unfortunately) do things like 5 + "px" (which > doesn't throw an exception). this saves _vast_ amounts of CPU > cycles. > > "--strict" as you would expect is the python-strict converter, where > we're beginning to add implementations of __add__ etc. etc. and > generally cope with the nasty grungy bits of javascript that would > otherwise make arbitrary python applications keel over. -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
On Sep 20, 12:05 am, exar...@twistedmatrix.com wrote: > Does pyjamas convert any Python program into a JavaScript program with > the same behavior? that's one of the sub-goals of the pyjamas project, yes. > I don't intend to imply that it doesn't - I haven't > been keeping up with pyjamas development, so I have no idea idea. I > think that the case *used* to be (perhaps a year or more ago) that > pyjamas only operated on a fairly limited subset of Python. If this was > the case but has since changed, it might explain why some people are > confused to hear pyjamas called a Python implementation now. yup. "-O" now equals [roughly] pyjamas 0.3 to 0.5p1 behaviour, aka "pythonscript" - a mishmash of python grammar/syntax with javascriptic execution. since kees joined, he's been steaming ahead with python interoperability (--strict option). he first started out by improving the pyjamas compiler and support libraries to the point where the python version of http://puremvc.org could be compiled to javascript as-is, and it's gone from there, really. on the roadmap is to take a look at what the unladen/swallow team have done, when they get to their stage 2 "unboxing", and see if calling out to PyV8 or Python-SpiderMonkey objects can be done from intobject.c, longobject.c etc. if the early experiments are anything to go by, python will then have _yet another_ python accelerator. but, really, for that to properly happen, python has _got_ to get some type-checking decorators on functions: @paramtypecheck(foo=int, bar=[int, str]) @paramtypecheck(int, [int, str]) # or this @returntypecheck(int) def randomfunction(foo, bar): if isinstance(bar, str): bar = int(bar) return foo + bar this kind of type-checking guidance would _drastically_ help out all of the compilers (such as that python-to-c++ one), and could probably also be utilised by http://python.org itself, ultimately, to speed up function execution. it's also just good software engineering practice to check parameters and return results. l. -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
On Sep 19, 8:36 pm, Daniel Fetchinson wrote: > >> the pyjamas project is taking a slightly different approach to achieve > >> this same goal: beat the stuffing out of the pyjamas compiler, rather > >> than hand-write such large sections of code in pure javascript, and > >> double-run regression tests (once as python, second time converted to > >> javascript under pyv8run, d8 or spidermonkey). > > >> anyway, just thought there might be people who would be intrigued (or > >> horrified enough to care what's being done in the name of computer > >> science) by either of these projects. > > > I've added pyjamas to the implementations page on the Python Wiki in > > the compilers section: > > >http://wiki.python.org/moin/implementation > > In what way is pyjamas a python implementation? As far as I know > pyjamas is an application written in python that is capable of > generating javascript code. it's strictly speaking, according to wikipedia, a "language translator". i'm just in the process of adding an AST parser (based on lib2to3, from sgraham's work in skulpt) which will become the basis of an "exec" function, just like in the skulpt demo. also to answer your question: pyjamas has [roughly] two modes: -O and --strict. "-O" is the one where you have to write in a subset of python, and you can (unfortunately) do things like 5 + "px" (which doesn't throw an exception). this saves _vast_ amounts of CPU cycles. "--strict" as you would expect is the python-strict converter, where we're beginning to add implementations of __add__ etc. etc. and generally cope with the nasty grungy bits of javascript that would otherwise make arbitrary python applications keel over. l. -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
John Nagle wrote: Daniel Fetchinson wrote: Barring the unimplemented libraries and bugs, yes. If you read the original post in this thread, you will see that on the roadmap is running the entire Python regression suite. No, it's getting close to running the entire Pyjamas regression suite, which is something else. I was referring to this statement: """ on the roadmap of this sub-sub-project of pyjamas is: * to throw pyv8run at the standard http://python.org regression tests and see what sticks """ -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
Daniel Fetchinson wrote: Barring the unimplemented libraries and bugs, yes. If you read the original post in this thread, you will see that on the roadmap is running the entire Python regression suite. No, it's getting close to running the entire Pyjamas regression suite, which is something else. Pyjamas is a dialect of Python in which many primitives have Javascript semantics. See http://code.google.com/p/pyjamas/wiki/MigrationGuide John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
>> the pyjamas project is taking a slightly different approach to achieve >> this same goal: beat the stuffing out of the pyjamas compiler, rather >> than hand-write such large sections of code in pure javascript, and >> double-run regression tests (once as python, second time converted to >> javascript under pyv8run, d8 or spidermonkey). >> >> anyway, just thought there might be people who would be intrigued (or >> horrified enough to care what's being done in the name of computer >> science) by either of these projects. > I've added pyjamas to the implementations page on the Python Wiki in > the compilers section: > > http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. >>> >>> It converts Python code to Javascript. >> >> The question is whether it converts Python code to JavaScript code with >> the same behavior. I think you're implying that it does, but you left >> it implicit, and I think the point is central to deciding if pyjamas is >> a Python implementation or not, so I thought I'd try to make it explicit. >> >> Does pyjamas convert any Python program into a JavaScript program with >> the same behavior? > > Barring the unimplemented libraries and bugs, yes. If you read the original > post in this thread, you will see that on the roadmap is running the entire > Python regression suite. Okay, this is true, something I missed. Cheers, Daniel -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
exar...@twistedmatrix.com wrote: On 19 Sep, 11:04 pm, robert.k...@gmail.com wrote: Daniel Fetchinson wrote: the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. It converts Python code to Javascript. The question is whether it converts Python code to JavaScript code with the same behavior. I think you're implying that it does, but you left it implicit, and I think the point is central to deciding if pyjamas is a Python implementation or not, so I thought I'd try to make it explicit. Does pyjamas convert any Python program into a JavaScript program with the same behavior? Barring the unimplemented libraries and bugs, yes. If you read the original post in this thread, you will see that on the roadmap is running the entire Python regression suite. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
On 19 Sep, 11:04 pm, robert.k...@gmail.com wrote: Daniel Fetchinson wrote: the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. It converts Python code to Javascript. The question is whether it converts Python code to JavaScript code with the same behavior. I think you're implying that it does, but you left it implicit, and I think the point is central to deciding if pyjamas is a Python implementation or not, so I thought I'd try to make it explicit. Does pyjamas convert any Python program into a JavaScript program with the same behavior? I don't intend to imply that it doesn't - I haven't been keeping up with pyjamas development, so I have no idea idea. I think that the case *used* to be (perhaps a year or more ago) that pyjamas only operated on a fairly limited subset of Python. If this was the case but has since changed, it might explain why some people are confused to hear pyjamas called a Python implementation now. Jean-Paul -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
Daniel Fetchinson schrieb: the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. It is an implementation. It takes python-code, and translates that to JS - so you code in Python, but the code is executed inside a JS-"VM". Diez -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
Daniel Fetchinson wrote: the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. It converts Python code to Javascript. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
>> the pyjamas project is taking a slightly different approach to achieve >> this same goal: beat the stuffing out of the pyjamas compiler, rather >> than hand-write such large sections of code in pure javascript, and >> double-run regression tests (once as python, second time converted to >> javascript under pyv8run, d8 or spidermonkey). >> >> anyway, just thought there might be people who would be intrigued (or >> horrified enough to care what's being done in the name of computer >> science) by either of these projects. > > I've added pyjamas to the implementations page on the Python Wiki in > the compilers section: > > http://wiki.python.org/moin/implementation In what way is pyjamas a python implementation? As far as I know pyjamas is an application written in python that is capable of generating javascript code. Does this make it a 'python implementation'? That would be news to me but I've been wrong many times before. Cheers, Daniel > The Skulpt implementation, already listed by Cameron Laird on his page > of Python implementations, is now also present, although using it is a > bit like using various 8-bit microcomputer emulators which assume a UK > keyboard and ignore the "replacement" keys on my own non-UK keyboard. -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list
Re: pyjamas pyv8run converts python to javascript, executes under command-line
On 18 Sep, 23:17, lkcl wrote: > > the pyjamas project is taking a slightly different approach to achieve > this same goal: beat the stuffing out of the pyjamas compiler, rather > than hand-write such large sections of code in pure javascript, and > double-run regression tests (once as python, second time converted to > javascript under pyv8run, d8 or spidermonkey). > > anyway, just thought there might be people who would be intrigued (or > horrified enough to care what's being done in the name of computer > science) by either of these projects. I've added pyjamas to the implementations page on the Python Wiki in the compilers section: http://wiki.python.org/moin/implementation The Skulpt implementation, already listed by Cameron Laird on his page of Python implementations, is now also present, although using it is a bit like using various 8-bit microcomputer emulators which assume a UK keyboard and ignore the "replacement" keys on my own non-UK keyboard. Paul -- http://mail.python.org/mailman/listinfo/python-list
[ANN] pyjamas pyv8run converts python to javascript, executes under command-line
just for fits and giggles and also because i'm getting fed up of using web browsers as part of the pyjs development cycle instead of the command-line, the pyjamas pyv8run.py has been brought back up-to- scratch, and can now execute the pyjamas LibTest regression tests with a 99.95% pass rate. pyv8run is a back-to-back combination of google's v8 engine + a library by flier liu which makes extensive use of python-boost (http:// code.google.com/p/pyv8) + the pyjamas python-to-javascript compiler. the initial experiment some months ago, with pyjamas 0.5, produced a python ACcellerator with a 10x performance increase; the latest 0.6~svn pyjamas compiler results in a python DEcellerator with a [finger-in-the-air] 10x performance DEcrease, thanks to the addition of several python strictness features. hurrah! :) perhaps it is the fact that the 0.5 test used google's stable x86 libv8, and the 0.6~svn test used google's alpha-release of amd64 libv8 - who knows, who cares, it's just hilarious to convert arbitrary python code into javascript and have it do 99.95% the same job. on the roadmap of this sub-sub-project of pyjamas is: * to throw pyv8run at the standard http://python.org regression tests and see what sticks * to improve the pyjamas compiler and/or alter the adapted lib2to3 parser/AST library in order to create a stand-alone, self-bootstrapped _javascript_ version of the pyjamas python-to-javascript compiler. this is _mandatory_ in order to support "eval" and "exec" - execution of python _source_ code - inside web browsers (and under a js> prompt such as spidermonkey or d8) this latter goal has already been hilariously achieved by the (completely independent) skulpt project: http://skulpt.org/ whose parser/AST code the pyjamas project has borrowed - and back-ported from javascript to python. you can see their demo python prompt on the main page, and use it to mash your own web browser of choice into submission. the pyjamas project is taking a slightly different approach to achieve this same goal: beat the stuffing out of the pyjamas compiler, rather than hand-write such large sections of code in pure javascript, and double-run regression tests (once as python, second time converted to javascript under pyv8run, d8 or spidermonkey). anyway, just thought there might be people who would be intrigued (or horrified enough to care what's being done in the name of computer science) by either of these projects. l. -- http://mail.python.org/mailman/listinfo/python-list