This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-26
Channels
- # architecture (2)
- # beginners (310)
- # boot (34)
- # cider (50)
- # cljs-dev (82)
- # cljsrn (1)
- # clojure (125)
- # clojure-dusseldorf (1)
- # clojure-hamburg (1)
- # clojure-italy (47)
- # clojure-russia (21)
- # clojure-spec (38)
- # clojure-uk (36)
- # clojurescript (200)
- # community-development (21)
- # cursive (10)
- # datomic (15)
- # duct (58)
- # emacs (20)
- # fulcro (10)
- # funcool (1)
- # graphql (2)
- # hoplon (6)
- # jobs (1)
- # lumo (12)
- # mount (20)
- # off-topic (14)
- # om (5)
- # portkey (43)
- # protorepl (2)
- # re-frame (31)
- # reagent (36)
- # ring (17)
- # ring-swagger (6)
- # shadow-cljs (50)
- # spacemacs (9)
- # sql (5)
- # tools-deps (28)
- # uncomplicate (4)
- # unrepl (5)
- # vim (2)
- # yada (2)
@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.
So PyPy is still a bytecode interpreter. While Zippy (Python on Truffle) is a python to AST compiler with a JIT backend.
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.
A good overview of that whole process: https://morepypy.blogspot.com/2011/04/tutorial-part-2-adding-jit.html
@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 😂
oh, this is just what I needed! http://stefan-marr.de/papers/oopsla-marr-ducasse-meta-tracing-vs-partial-evaluation
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
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...
Sometimes I just go to github and sort projects by stars / month and maybe programming language.
For random discovery, http://github.com/trending can be interesting, less so for Clojure tbh, it's almost always ring