3 ms·
If you have read or checked out http://www.buildyourownlisp.com/ http://www.buildyourownlisp.com/, how would you compare your book to buildyourownlisp?
by Scarbutt 9y ago
If you have read or checked out http://www.buildyourownlisp.com/ http://www.buildyourownlisp.com/, how would you compare your book to buildyourownlisp?
- munificent 9y agoGood question. I have read "Build Your Own Lisp", and quite enjoyed it. A few random differences: 1. BYOL is done and my book isn't (yet). :) 2. BYOL aims to both teach you how to program in C and how to implement a language at the same time. Mine assumes you are passably comfortable in Java and C and focuses on the language stuff. 3. Lisp is, of course, a very different language from the imperative OOP language my book uses. BYOL teaches you about s-exprs and some macro-related stuff. Mine covers a more complex grammar, assignment, classes, etc. 4. BYOL uses a provided parser combinator library for building the parser. Mine has you build a lexer and recursive descent parser from scratch and goes into greater detail (though not as much as in a PL textbook) about grammars and the theory behind it. 5. If I recall, BYOL avoids needing a GC by passing everything by value, including deep copying trees. That's an interesting way to sidestep the problem but is an uncommon choice for a language. In mine, we first rely on the Java GC to do our dirty work. In the C interpreter, we'll build a precise mark-sweep GC from scratch. 6. My book, for better or worse, is going to end up being quite a bit larger than BYOL. You can probably work through his over a long weekend, where mine is more of a holiday vacation kind of thing.