It's called "Writing An Interpreter In Go" and contains what it says on the box.
In the book we will build a programming language from scratch. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey programming language. It's not a book about theory, its focus is working code.
Check it out at interpreterbook.com
Hi there! My name is Thorsten Ball. I'm a software developer living in Aschaffenburg, Germany, a small city near Frankfurt am Main.
I like to develop, optimize and take care of sophisticated systems. Or put another way: I like to program where the rubber hits the road -- wherever that may be.
But before I leave for work, in the early morning hours, I love to deep dive into other programming topics that interest me: programming languages, interpreters, compilers, web servers, systems programming, Unix, databases. I'm a big fan of digging deep and peeling away at abstraction layers to get a better sense of what I'm working with. It also gives me much more leverage higher up. In short: I love learning and I'm always eager to improve my skills.
Sometimes I write blog posts about these deep dives, which you can find here, or I give talks about what I found. And in 2016 I even wrote a book about what I learned when trying to build my own programming language.
You can subscribe to post updates via the Atom feed.
Applikatoni - A deployment server for small teams with multiple applications, written in Go, developed at flinc.
Watchgopher - A lightweight, scriptable and UNIX-y filewatcher.
dotfiles - My dotfiles. git, zsh, tmux, etc.
vimconfig - Everything that goes on in my ~/.vim folder.
Not finished, not stable, not ready for production, but fun!
Helles - A multi-process webserver written entirely in C.
Sceem - A small Lisp/Scheme interpreter written in Ruby.
Never hesitate to send me an email at email@example.com. I love getting email from you.
I also maintain a mailing list, on which I sent out occasional updates about my book or this blog. I won't spam you and you can unsubscribe at any time.