Fork me on GitHub
#off-topic
<
2018-03-26
>
tbaldridge01:03:54

@schmee it's close, but different in some rather critical ways. In Truffle you create an AST, and then Truffle merges the AST execute methods into a single large method. In PyPy you write an interpreter in a subset of Python, then the framework analyzes the interpreter and finds you interpreter dispatch loop (via a special hint). From there it constructs a JIT for your interpreter. So Truffle requires you to compile your code to an AST, PyPy figures out how your interpreter works and builds a JIT for however you chose to write your interpreter.

tbaldridge01:03:30

So PyPy is still a bytecode interpreter. While Zippy (Python on Truffle) is a python to AST compiler with a JIT backend.

tbaldridge01:03:04

The cool thing about PyPy's approach is that PyPy still looks like a mostly normal Python interpreter. You can still introspect stack frames, construct bytecode on-the-fly, etc.

schmee09:03:16

@tbaldridge I see, thanks! so know I have to read up on tracing JITs, just when I thought I was getting some sort of understanding on this topic 😂

schmee09:03:59

so PyPy = tracing, Truffle = partial evaluation

Gaurav13:03:19

Hey Everyone , Another question - How do you discover open source projects ? what are your sources and is there any glitch or gap in open source discovery? Pls reply on thread, it's easy to track

Gaurav13:03:33

Pls reply on thread, it's easy to track

val_waeselynck13:03:51

For Clojure libraries, via https://www.clojure-toolbox.com/, as well as announcements in this Slack, or on Twitter, or Reddit, or the mailing list...

sveri14:03:57

Sometimes I just go to github and sort projects by stars / month and maybe programming language.

dominicm14:03:40

For random discovery, http://github.com/trending can be interesting, less so for Clojure tbh, it's almost always ring

Gaurav07:03:03

do you want to use any single point of discovery for all these project regardless the language? will you use it?