Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplication of effort? #3

Closed
kovidgoyal opened this issue Feb 11, 2016 · 9 comments
Closed

Duplication of effort? #3

kovidgoyal opened this issue Feb 11, 2016 · 9 comments

Comments

@kovidgoyal
Copy link

Hi,

First let me apologize for using the github issue system for what is not really a bug report. I am simply too lazy to sign into another forum :)

I just wanted to let you know that the of the major features you quote for Transcrypt: "Multiple inheritance, recursive tuple assignment, multi-loop nested list comprehensions, LHS and RHS extended slices, assignment of bound functions, lambdas, named, default, _args and *_kwargs parameters, properties and a hierarchical module system are just a few of its characteristics that make this clear."

only multiple inheritance is not currently supported by RapydScript. Specifically, by the work I have been doing on rapydscript https://github.com/kovidgoyal/rapydscript-ng

And adding support for multiple inheritance should not take more than a day or two of work -- it just isn't a priority for me.

RapydScript has many features it would take a fair bit of effort to duplicate: a REPL, support for gettext, a linter, a minifier, set,dict,generator comprehensions, yield and generators, ESS5 and ES6 profiles, and so on.

This is only an FYI -- it would be nice to be able to combine efforts on a single python-like transpiler, but, I totally understand if you would rather go it on your own.

@kovidgoyal
Copy link
Author

P.S. If you would rather discuss this in private, you can find my email address at the top of https://github.com/kovidgoyal/rapydscript-ng/blob/master/src/lib/elementmaker.pyj

@JdeH
Copy link
Collaborator

JdeH commented Feb 11, 2016

Hi Kovid, you should have received my reply. If not, let me know.
Kind regards, Jacques

@kovidgoyal
Copy link
Author

I got it and replied, feel free to close this bug report, if you want to.

@JdeH JdeH closed this as completed Feb 11, 2016
@datnamer
Copy link

Do you guys mind sharing the outcome?

@kovidgoyal
Copy link
Author

JdeH decided he wanted to continue to work on Transcrypt, and not merge efforts. But he is open to collaborating on implementing libraries from the python ecosystem for python-to-javascript transpilers in the future.

@JdeH
Copy link
Collaborator

JdeH commented Feb 16, 2016

Correct. I think there's room for diversity in the transpiler area. There's a whole range of projects from PyPyJs on one hand via Brython to RapydScript. Transcrypt fits somewhere between Brython and RapydScript, but nearer to RapydScript. I hope users compare the featureset and choose what fits them best. I agree with the philosophy behind RapydScript that a transpiler should live in the JS ecosystem and generate lean, understandable JS. Still in programming it I wanted to start out from the Python world rather than JS world: native CPython parser, code generator programmed in Python 3.5, Transcrypt distributed via PyPi. I want the syntax to be pure Python, even the pragma's are syntactically just function calls.

@h5rdly
Copy link
Contributor

h5rdly commented Jul 23, 2017

I've been checking out both transpilers (+ pyscript, which I'm not sure where to fit), awesome to see a collaboration effort.

If it's ok to ask - for a minimal overhead over regular JavaScript, which transpiler would you say is more suitable currently? aka which to use if performance is a high priority?

Thanks!

@kovidgoyal
Copy link
Author

See kovidgoyal/rapydscript-ng#46 for some benchmarks

@valq7711
Copy link

valq7711 commented Sep 6, 2017

Hi!
I went over the project and while I was looking at python side I was delighted, but JS-side upset me.

My 2 cents of thoughts:
If I want to write a more or less large app using the existing JS-framework I should understand how it works including JS itself! So, If I know JS (but love Python, I really love it) which transpiler will I use? - I think, it will be one which is closer to JS as possible with no magic and JS-basics modification (like Array.prototype.append = ... - are you sure that some JS-libs doesn't do the same?).

If I will want to write some awesome JS-lib/framework, then it should be suitable for pure JS contributors, what shall I use?

Just for example: Autobinding makes the classes unsuitable to use with Vue (at least). I mean the following will not work:

 Class Foo: 
   def __init__(self):
         self.methods =  { 'bar': bar}   

    def bar(self): 
         ...

v_foo = new Vue( Foo() ) 

So, I can't imagine how I could use this project(

P.S. JS has the fatal drawback - it's not Python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants