4 ms·
This is great, it's taken me months to learn all the things you just listed. Do you know of anywhere where this type of thing is discussed?
by krichman 13y ago
This is great, it's taken me months to learn all the things you just listed. Do you know of anywhere where this type of thing is discussed?
- iskander 13y agoLanguage implementation sometimes gets discussed up on lambda-the-ultimate . Also, searching for anything and everything Mike Pall has written about VM design is probably worthwhile. Mozilla developers also have some pretty interesting blog posts about TraceMonkey, IonMonkey and all the other monkeys.
- krichman 13y agoI've actually seen most of those, I guess I'm more advanced than I thought :)
- iskander 13y agoYou're probably ready to write your own JIT -- I'd recommend making one for Python ;-) I think after the low-hanging fruit above, there's lot of weird interpreter/compiler folklore on old usenet posts, Forth VM designs, random papers (like the Register vs. Stack machine showdown). There are also some enlightening books like "Lisp in Small Pieces". I'm at SciPy right now and I was just talking to the Julia developers yesterday about the need for a textbook, website, or wiki to gather all this disparate info in one place. Want to help us get it started?
- cwzwarich 13y agoI mostly picked it up by working on interpreters and compilers, doing performance analysis on the generated code, trying to find all papers on the subject (some of them good, some of them really bad - you have to filter them yourself), and reading about what other implementations have been doing. It's also important to be able to run experiments quickly; you don't want to have to get every patch production-worthy before doing basic performance analysis.
- krichman 13y agoAha! So I am on the right track! :)