
Building a Programming Language Pt. 3 – Interpreting - drew-y
https://drew.ltd/blog/posts/2020-8-2.html
======
azhenley
Where were all these compiler/interpreter tutorials 20 years ago? All I had
was Jack Crenshaw's guide and The Dragon Book!

Happy to see all these materials with different perspectives.

~~~
seanmcdirmid
The JVMS was around 20 years ago, and had a lot of great hints. And then there
was the smalltalk 80 book which talked about how it’s interpreter was
implemented. Actually, I’m kind of depressed we haven’t advanced very much
from methods in use 40 years ago.

~~~
mac01021
Which methods specifically do you feel leave a lot of room for improvement?

------
typon
Can anyone recommend a resource that will teach me how to write a compiler for
a _statically typed compiled_ language? Pretty much every tutorial and
resource focuses on dynamic interpreted languages. I want to learn how to
implement a type system inside a compiler.

~~~
Drup
For the type system aspects, there are two steps:

1\. Learn the theory. Yes, you need to. On this matter, the book "Types and
Programming Languages" (or TAPL for short) is the bible:
[https://www.cis.upenn.edu/~bcpierce/tapl/](https://www.cis.upenn.edu/~bcpierce/tapl/)

2\. Implement toy type systems. There are several resources for this, but
personally, I like this one:
[http://plzoo.andrej.com/](http://plzoo.andrej.com/)

~~~
typon
Thank you for the links brother

------
tjpnz
Implementing a programming language was one of the most rewarding things I did
at university. The knowledge gained around coding a recursive descent parser
actually proved useful in my professional life. As did the lessons in patience
from deciphering the professors reference implementation.

