Re: [pypy-dev] Feedback on Graduate School Research Idea Using Pypy

2019-11-13 Thread Yury V. Zaytsev
An experimental WebAssembly backend is definitively an interesting idea, 
but as you have realised, to get PyPy running in the browser, it's not 
necessarily needed, as you can compile C to WebAssembly instead.


Sure, a native backend sounds nicer, but from my PoV the real performance 
questions lie elsewhere - so you've got an interpreter running under V8, 
what next? Obviously, it's not performing very well. What are the 
possibilities?


Are you going to try to restructure the interpreter in a way, that your 
language sematics become clearer to V8 so to say and it will be able to 
more or less JIT your interpreter directly? Is it even possible, with 
custom backend by avoiding Emscripten or otherwise?


Or maybe it makes sense to first write a WebAssembly JIT backend keeping 
the rest of the messy RPython -> C -> Emscripten -> WebAssembly toolchain 
in place, and study how to JITs (PyPy generated JIT and V8 JIT) interact? 
Is this interaction meaningful or harmful? Can it be turned into 
productive cooperation?


These are open questions, I don't know the answers, but what I want to say 
is that just being able to port interpreters to the browser is already 
possible via Emscripten, and in the context of PyPy there are other 
(I think) much more interesting questions to study.


... and I wouldn't muddy the waters with Python 3 transition, working on 
the questions above there is enough material for several PhDs, not even 
speaking of a master thesis :-)


On Tue, 12 Nov 2019, yun bao wrote:


I took a look at PyPyJS.  I also spoke with some folks at Mozilla, and have 
become very interested in WebAssembly.  I think having
WebAssembly as a target for RPython would be very useful.  Based on what I've 
learned recently, it should be possible to write an
interpreter in RPython, translate it to C, then use Emscripten to compile that 
to WebAssembly.  However, if there was a WebAssembly backend
for RPython, it would be possible to build interpreters than run directly in 
the browser (potentially even PyPy.).  That seems like an
avenue worth investigating, doesn't it?  I think while doing that, it would be 
worth getting RPython compatible with Python 3.  By the way,
these are things I'm thinking about doing myself, not recommendations to any of 
you.  I'm still working on a solid thesis idea for my
Master's.  

On Sat, Nov 9, 2019 at 12:25 AM Yury V. Zaytsev  wrote:
  Maybe you should start by having a look at PyPyJS and then exploring 
WebAssembly:
https://github.com/pypyjs/pypyjs

Sent from my iPad

  On 9. Nov 2019, at 03:40, yun bao  wrote:

  Hi,
I'm planning to go to grad school for a Master's.  I'm thinking about 
researching something related to getting Python running
in a web browser.  All of the current implementations that allow you to do that 
either transpile Python to JavaScript ahead of
time, or do some kind of on-the-fly conversion from Python to JavaScript.  I'd 
like to write an actual Python engine that will
run in the browser.  As I've been mulling over this idea, I read about Pypy.  
Given my limited knowledge of this domain
(programming language engines that run in the browser) and the exact nature of 
the problem, Pypy seems like the best route to
achieving this.  I'm still very much in the early stages of fleshing this idea 
out, and besides the typical undergraduate
Programming Language class, I haven't done much in the way of programming 
language design or anything compiler related.  So I
have A LOT to learn.  But I was hoping some of you who are Pypy experts could 
give me a bit of advice on the feasibility of
what I'm considering.

Thank you,

Andrew
___
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev





--
Sincerely yours,
Yury V. Zaytsev___
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev


Re: [pypy-dev] Feedback on Graduate School Research Idea Using Pypy

2019-11-12 Thread yun bao
I took a look at PyPyJS.  I also spoke with some folks at Mozilla, and have
become very interested in WebAssembly.  I think having WebAssembly as a
target for RPython would be very useful.  Based on what I've learned
recently, it should be possible to write an interpreter in RPython,
translate it to C, then use Emscripten to compile that to WebAssembly.
However, if there was a WebAssembly backend for RPython, it would be
possible to build interpreters than run directly in the
browser (potentially even PyPy.).  That seems like an avenue worth
investigating, doesn't it?  I think while doing that, it would be worth
getting RPython compatible with Python 3.  By the way, these are things I'm
thinking about doing myself, not recommendations to any of you.  I'm still
working on a solid thesis idea for my Master's.

On Sat, Nov 9, 2019 at 12:25 AM Yury V. Zaytsev  wrote:

> Maybe you should start by having a look at PyPyJS and then exploring
> WebAssembly:
>
> https://github.com/pypyjs/pypyjs
>
> Sent from my iPad
>
> On 9. Nov 2019, at 03:40, yun bao  wrote:
>
> 
> Hi,
>
> I'm planning to go to grad school for a Master's.  I'm thinking about
> researching something related to getting Python running in a web browser.
> All of the current implementations that allow you to do that either
> transpile Python to JavaScript ahead of time, or do some kind of on-the-fly
> conversion from Python to JavaScript.  I'd like to write an actual Python
> engine that will run in the browser.  As I've been mulling over this idea,
> I read about Pypy.  Given my limited knowledge of this domain (programming
> language engines that run in the browser) and the exact nature of the
> problem, Pypy seems like the best route to achieving this.  I'm still very
> much in the early stages of fleshing this idea out, and besides the typical
> undergraduate Programming Language class, I haven't done much in the way of
> programming language design or anything compiler related.  So I have A LOT
> to learn.  But I was hoping some of you who are Pypy experts could give me
> a bit of advice on the feasibility of what I'm considering.
>
> Thank you,
>
> Andrew
> ___
> pypy-dev mailing list
> pypy-dev@python.org
> https://mail.python.org/mailman/listinfo/pypy-dev
>
>
___
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev


Re: [pypy-dev] Feedback on Graduate School Research Idea Using Pypy

2019-11-09 Thread Yury V. Zaytsev
Maybe you should start by having a look at PyPyJS and then exploring 
WebAssembly:

https://github.com/pypyjs/pypyjs

Sent from my iPad

> On 9. Nov 2019, at 03:40, yun bao  wrote:
> 
> 
> Hi,
> 
> I'm planning to go to grad school for a Master's.  I'm thinking about 
> researching something related to getting Python running in a web browser.  
> All of the current implementations that allow you to do that either transpile 
> Python to JavaScript ahead of time, or do some kind of on-the-fly conversion 
> from Python to JavaScript.  I'd like to write an actual Python engine that 
> will run in the browser.  As I've been mulling over this idea, I read about 
> Pypy.  Given my limited knowledge of this domain (programming language 
> engines that run in the browser) and the exact nature of the problem, Pypy 
> seems like the best route to achieving this.  I'm still very much in the 
> early stages of fleshing this idea out, and besides the typical undergraduate 
> Programming Language class, I haven't done much in the way of programming 
> language design or anything compiler related.  So I have A LOT to learn.  But 
> I was hoping some of you who are Pypy experts could give me a bit of advice 
> on the feasibility of what I'm considering.
> 
> Thank you,
> 
> Andrew
> ___
> pypy-dev mailing list
> pypy-dev@python.org
> https://mail.python.org/mailman/listinfo/pypy-dev
___
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev