5 ms·
>The underlying basis for PyPy has big implications for a number of dynamic languages Isn't it just a tracing JIT? Aren't these relatively well understood and
by valarauca1 11y ago
>The underlying basis for PyPy has big implications for a number of dynamic languages
Isn't it just a tracing JIT? Aren't these relatively well understood and implemented dozens of different ways?
- maxerickson 11y agoThe novelty is that the JIT is produced by compiling a simple interpreter. http://morepypy.blogspot.com/2011/04/tutorial-writing-interpreter-with-pypy.html http://morepypy.blogspot.com/2011/04/tutorial-writing-interp...
- Alphasite_ 11y agoOthers have shown up and take the same approach, Graal and Zippy for example.
- njharman 11y agoI've never heard of those. Python on the other hand has been my primary professional language for years. i.e. people pay me to program in python. See how PyPy might be a tinsy bit more relevant / meaningful to professional developers.
- pjmlp 11y agoJava developers know them quite well. In fact Java 9 is getting a plugin API for Graal.
- valarauca1 11y agoI still don't see the novelty. Its a JIT compiler run-time. You put a program in the JIT-compiler's run-time. And it was JIT compiled. The program you gave it just so happens to have Turning Complete behavior. It doesn't change anything the JIT compiler is doing. It's like a compiler boot-strapping itself. It seems really impressive, but really the program is just doing its job on an input. The input just happens to be itself.
- sho_hn 11y agoIt's not about novelty, it's about realization. PyPy exists and works as both an open source project and as a codebase, which is no easier to achieve than coming up with an idea. That said, PyPy has yet to demonstrate real impact outside the Python community, and projects with a somewhat similar aim to what's being discussed (the Parrot VM) have likewise not gotten to significant uptake. We'll see. PyPy is definitely already useful at other things, though.
- KingEllis 11y ago> PyPy exists and works as both an open source project and as a codebase, which is no easier to achieve than coming up with an idea. I have no idea what you are getting at here.
- sho_hn 11y agoThe post I was replying to was misunderstanding "this is new!" as "this is the first time this exists!" when it's more about "this is the first time this is available!", where availability is complex and defined by factors like governance, distribution, quality, accessibility, infrastructure, communication ... these are the things that tend to be make or break long after novelty had its moment. Whether "this is the first time this is available!" is true or not is open to debate (it depends in part on how you weigh the listed concerns), but parent's post didn't read on it.
- valarauca1 11y agoSo you just adding a user program to a REPL/Parser and cramming it into a JIT? You can do this in Javascript, or LLVM-IR just as easily. The main blessing is also its biggest curse. You are writing a language to move fast, and change often. Its a good learning tool, but a constantly changing language is next to impossible to build value upon.
- fijal 11y agoDid you actually look at the blog post? The novelty is the idea that you generate a JIT compiler from the interpreter using a few hints. Truffle does that, but Truffle is newer than PyPy.