4 ms·
Crafting Interpreters is great, I wish it had a companion book that covered: - types and typing - optimization passes - object files, executables, librar
by orthoxerox 6mo ago
Crafting Interpreters is great, I wish it had a companion book that covered:
- types and typing
- optimization passes
- object files, executables, libraries and linking
Then two of them would be sufficient for writing a compiler.
- gavinray 6mo agoTo your last point, "Linkers and Loaders" has no equal despite being a bit dated
- ux266478 6mo ago> types and typing This would be like asking for a book on designing grammar. It's just too disjoint of a field to have any kind of reasonable baseline, and it's drop dead easy to grok a basic one together. With those two things being equal, just like with grammar, the answer to this is any resource about implementing the language you're trying to ape.
- orthoxerox 6mo agoIt's drop dead easy to grok a basic one together until you get to hairy stuff like overloading, lambdas and generics. The reasonable baseline would be something like Java 1. Scalars, arrays and classes. If I remember correctly, Lox even skips arrays as an exercise for the user.
- ux266478 6mo agoThe problem is in the case of overloading or lambdas being "hairy", it follows you're well outside the scope of a beginner. Generics are explicitly outside the scope of a beginner learning to implement a basic type system. In the case you're not a beginner, it's not true that no literature exists on type systems and their implementation. The mountain of literature is essentially inexhaustible, but if you're still wondering about how to implement any type system at all, if you've never done it before, you really need to not worry so much about that. Kind of like how you don't even think about implementing a tracing jitter before you've written the world's shittiest tree-walking interpreter.
- duped 6mo ago> types and typing Types and Programming Languages, Benjamin C Pierce > object files, executables, libraries and linking Linkers and Loaders, John R Levine
- orthoxerox 6mo agoI've read Pierce. It's not a bad book, but less grounded than CI, which has an explicit "workmanlike" approach.
- deleted 6mo ago[deleted]