News for hackers. Stuff that matters.
Re:Show HN: a compiler from Python syntax to JavaScript synt... by s3graham on Friday October 29, 2010 @04:02PM (#1848784)
At first blush, I'd say this similar to Coffeescript in that it's meant to be javascript shorthand also.
Re:Show HN: a compiler from Python syntax to JavaScript synt... by endian on Friday October 29, 2010 @04:06PM (#1848800)
Exactly. It's purely syntax to syntax.

Thanks for the confusion -- I've made the first paragraphs more clear about PJ's scope.

Title changed: s/compiler/syntax cross-compiler/ EDIT: title changed again

Re:Show HN: a compiler from Python syntax to JavaScript synt... by scott_s on Friday October 29, 2010 @04:41PM (#1848938)
That's not a term I've ever heard, and "cross compiler" tends to imply something else: http://en.wikipedia.org/wiki/Cross_compiler

I would call what you have done a source-to-source compiler: it translates from one target high-level language to another. http://en.wikipedia.org/wiki/Source-to-source_compiler

Re:Show HN: a compiler from Python syntax to JavaScript synt... by s3graham on Friday October 29, 2010 @04:14PM (#1848839)
I guess defining what you consider syntax features vs. Python language/runtime would be appropriate for the docs.

ie. 2 * * 1024? print object.__mro__? slice objects? __call__? etc.

Re:Show HN: a compiler from Python syntax to JavaScript synt... by endian on Friday October 29, 2010 @04:39PM (#1848929)
Here's the decision procedure:

If there's no collateral damage and the JS is clear (e.g. 28 --> Math.pow(2, 8)): do it.

If there's no proper way to express the JS in Python (e.g. instanceof and typeof keywords): do it

If it's really important (only "print" and "self"): do it

Else: DON'T

These few special cases that mess with your code are all mentioned in a section on the the main page.

And you can easily remove them from the transformations if you want.